[JAVA] ResultSet ontvangt wel de kolomnamen, maar geen rijen

Pagina: 1
Acties:

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 28-11 15:28

BlackBurn

One Ring To Rule Them All

Topicstarter
Ik ben wat aan het hobbiën met Java, nu probeer ik een database uit te lezen, het openen gaat goed. Vervolgens wil ik een resultset vullen en deze uitlezen.

Tot het vullen van de resultset gaat het goed, echter als ik iets probeer uit te lezen, dan geeft hij een fout.
Nu heb ik al geprobeerd via de metadata te kijken waar het mis gaat, echter deze kan bijv. wel perfect de kolomnamen uitlezen.
Hierna probeerde ik naar de eerste rij te gaan d.m.v. absolute(1), echter hier ontstaat de fout, het lijkt erop dat ik alleen de kolomnamen terug krijg van de statement i.p.v. ook de rijen, iemand een idee?

Code database opeen
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 private void OpenDB(){
        strDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; //Brug naar de Database (als string)
        strUrl = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=data.mdb";
        
        try{
            Class.forName(strDriver);
        } catch(Exception e) {
            error("Driver niet gevonden.");
        }

        try{
            objCon = DriverManager.getConnection (strUrl, "", "");
            objStmt = objCon.createStatement();
        } catch(Exception e) {
            error("Kan geen verbinding maken.");
        }     
    }


Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public void getArrLst(){
        OpenDB();

        try{
            ResultSet rs = objStmt.executeQuery("SELECT * FROM tbl_klanten");

            //rs.absolute(1);
           // System.out.println(rs.getRow());
              rs.getString("naam");
            
        }
        catch(Exception e) {
            error("Kan de tabel niet lezen.");   
        }
        

        CloseDB();

    }

If it is broken, fix it. If it ain't broken, make it better!


  • den 150
  • Registratie: Oktober 2002
  • Niet online
je moet over de records scrollen met resultset.next()

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 28-11 15:28

BlackBurn

One Ring To Rule Them All

Topicstarter
Heb ik geprobeerd, maar het probeel is, dat die geen records terug krijgt op een of andere manier :( en er zitten er toch echt 2 in.

Oeps, iets te voorbarig, het ziet er naar uit, dat het toch wel werkt met next.

Dit heb ik toegevoegd
Java:
1
2
3
            while (rs.next()){
                System.out.println(rs.getString("naam"));
            }


Dat ik dat al 2u niet werkend kreeg 8)7

Bedankt iig.

[ Voor 52% gewijzigd door BlackBurn op 10-01-2007 22:28 ]

If it is broken, fix it. If it ain't broken, make it better!


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 17:46

Robtimus

me Robtimus no like you

De meeste Java SQL drivers ondersteunen (iig default) alleen maar de next() method om door de record set te lopen. Methods als absolute(), beforeFirst() en zelfs previous(), geen van alle werken ze zomaar.

De enige drivers waarbij ik heb gemerkt dat previous() default werkte zijn die van MySQL. Access, ODBC, MS SQL, Oracle, geen van alle ondersteunen previous() zomaar. Wellicht dat het kan met extra parameters zoals andere cursor types opgeven bij het connecten, maar daar ben ik nog niet mee bezig geweest.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

IceManX schreef op woensdag 10 januari 2007 @ 22:40:
De meeste Java SQL drivers ondersteunen (iig default) alleen maar de next() method om door de record set te lopen. Methods als absolute(), beforeFirst() en zelfs previous(), geen van alle werken ze zomaar.

De enige drivers waarbij ik heb gemerkt dat previous() default werkte zijn die van MySQL. Access, ODBC, MS SQL, Oracle, geen van alle ondersteunen previous() zomaar. Wellicht dat het kan met extra parameters zoals andere cursor types opgeven bij het connecten, maar daar ben ik nog niet mee bezig geweest.
Is dat niet een kwestie van een type 1, 2, 3 of 4 driver?

http://www.javaworld.com/...07-2000/jw-0707-jdbc.html

Ik ken er de exacte details niet van, ik pak eigenlijk altijd de hoogste die beschikbaar is. :P

Fat Pizza's pizza, they are big and they are cheezy


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 17:46

Robtimus

me Robtimus no like you

Waarschijnlijk wel, ik zei dus ook "default" ;)
Dat is ook de manier waarop de meeste mensen database connecties maken; met cursors werken doet de standaard gebruiker niet, zeker niet als beginner. Ik noem mezelf absoluut geen beginner, maar ik heb nog nooit cursors gebruikt. Gewoon niet nodig gehad.

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1