Java & SQL: select max (.....)

Pagina: 1
Acties:

  • the_bbk
  • Registratie: Oktober 2001
  • Niet online
Ik heb een probleempje met java. Ik wil het hoogste nummer uit een kolom uit een SQL-database halen. Hiervoor gebruik ik de volgende functie:
code:
1
2
3
4
5
6
7
8
9
10
  private String Nummer; (staat ergens bovenaan in de klasse)
  private ResultSet deUitkomst;
   void haalMaxDoc_code() {
    ResultSet deUitkomst = moeder.haalUitDatabase("SELECT MAX (doc_code) FROM docent");
    try { while (deUitkomst.next()) {
      Nummer = deUitkomst.getString("doc_code");
      textFieldDocCode.setText(Nummer);
      System.out.println("Gelukt!!");}}
    catch (SQLException s) {
      System.out.println("Foutje"); }

Waarbij "moeder" refereert naar de functie die staat in een andere klasse.
Zover ik kan zien in de console gaat wordt de SQL-query netjes uitgevoerd, ik krijg ook geen errors maar om de een of andere reden kan ik het niet goed uit de ResultSet (zie functie) halen, er wordt dus ook de hele tijd "Foutje" in mijn console afgedrukt...

Wie kan mij helpen/vertellen wat er fout zit...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09-09 20:58

Janoz

Moderator Devschuur®

!litemod

Print in plaats van "foutje" eens de SQLException uit.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Wilke
  • Registratie: December 2000
  • Laatst online: 09-09 22:48
Zet eens onder de regel waar hij 'Foutje' print deze code erbij:

s.printStackTrace();

en post eens wat daar uit komt?

Verwijderd

pdz lol !

  • the_bbk
  • Registratie: Oktober 2001
  • Niet online
Hieronder staat het hele verhaal van de foutmelding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
java.sql.SQLException: Column not found

    at sun.jdbc.odbc.JdbcOdbcResultSet.findColumn(JdbcOdbcResultSet.java:1790)

    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:383)

    at ip82_sportivo.Docent_toevoegen_scherm.haalMaxDoc_code(Docent_toevoegen_scherm.java:65)

    at ip82_sportivo.Docent_toevoegen_scherm.buttonToonDocenten_actionPerformed(Docent_toevoegen_scherm.java:76)

    at ip82_sportivo.Docent_toevoegen_scherm$1.actionPerformed(Docent_toevoegen_scherm.java:48)

    at java.awt.Button.processActionEvent(Button.java:329)

    at java.awt.Button.processEvent(Button.java:302)

    at java.awt.Component.dispatchEventImpl(Component.java:2593)

    at java.awt.Component.dispatchEvent(Component.java:2497)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)

    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)

Foutje

EDIT: Sorry voor het verpesten van de layout...

  • the_bbk
  • Registratie: Oktober 2001
  • Niet online
Is er misschien een mogelijkheid om een hele ResultSet in de console af te drukken (incl. kolomnamen) zodat ik kan zien welke kolommen erin zitten?

Verwijderd

Het probleem is met je query. Probeer de volgende,
code:
1
SELECT MAX (doc_code) AS max_doc_code FROM docent

en dan,
code:
1
2
3
...
Nummer = deUitkomst.getString("max_doc_code");
...

succes ermee

  • the_bbk
  • Registratie: Oktober 2001
  • Niet online
Hé heel erg bedankt, het werkt nu precies zoals ik wou!!!

Verwijderd

graag gedaan :)
Pagina: 1