![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Hallo, ich habe da ein problem, ich will eine suche realisieren bevor ich einen eintrag in die datenbank mache will ich raus finden ob ich nicht den gleiche eintrag habe. Habe zwar schon die abfrage fertig er findet auch wenn eintrag doppelt ist nur wenn es diesen eintrag nicht gibt, gibt er mir exception fehler an "java.sql.SQLException: [Microsoft][ODBC Driver Manager] Ungültiger Cursorstatus" wie kann ich das abfangen das es keinen fehler anzeigt. hier die funktion: LandTF ist der Textfeld wo ich mein eintrag mache public String Pruefe() { String okey="", arg1, arg2, arg3; //*************************L A N D****************************************** try { Statement befehl = db.gcon.createStatement(); String strSQL ="select * from Laender WHERE nameLand LIKE \'"+LandTF.getText()+"\'"; ResultSet kurti = befehl.executeQuery(strSQL); kurti.next(); arg1=kurti.getString("nameLand"); if (LandTF.getText().equals("")) { feh_Landlb.setText("Bitte Land eingeben !"); //JLabel nur zur Fehler meldung L_auslb.setText("! ! !"); //JLabel nur zur Fehler meldung } System.out.println(arg1); if (!arg1.equals("")) { // die abfrage ist noch nicht vollkommen nur zur test zwecke feh_Landlb.setText("Der Eintrag " + LandTF.getText() + " existiert bereits !"); L_auslb.setText("! ! !"); okey = "no"; } } catch(Exception e) { System.out.println("Fehler beim vergleich von Laendern= "+e); } return okey; } |
|
| | Nach oben #2 |
| Benutzer Registriert seit: 11.06.2005
Beiträge: 36
|
Hallo, der Fehler liegt bei PHP-Code: Wenn die Ergebnisstabelle des Select-Statements NULL ergibt kannst du damit nicht weiter arbeiten. Du musst also testen ob das Query überhaupt ein Ergebniss liefert bevor du es ausliest. mfG |
| | |
| | Nach oben #4 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 582
|
Bei solchen Prüfungen mache ich immer eine SELECT count(*) FROM table Abfrage. Die Rückgabe ist dann in Datensatz 1, Spalte 1 die Anzahl der gefundenen Datensätze. PHP-Code: Gruß Sparrow |
| | |
| | Nach oben #5 |
| Benutzer Registriert seit: 11.06.2005
Beiträge: 36
|
Hallo, es gibt 2 Möglichkeiten der Lösung. erstens.... das ResultSet Objekt der Query ist NULL, das heisst du kannst [ResultSet == NULL] abfragen. zweitens... das ResultSet Objekt der Query ist nicht NULL aber enthält keine Zeilen (praktisch eine leere Ergebnissmenge), dieses könntest du durch eine Zählmethode der Ergebnisszeilen der ResultMenge abfragen. Die dann natürlich 0 ist. mfG (Debuging?!?!) |
| | |
| | Nach oben #6 |
| Gast
Beiträge: n/a
|
Danke sparrow und rath, sparrow ich habe deinen code genommen und habe nur das (if (kurti.isBeforeFirst()) { kurti.next(); } ) um geändert weil er mir da einen Fehler meldung gegeben hat. Statement befehl = db.gcon.createStatement(); String strSQL = "SELECT count(*) FROM Laender WHERE nameLand LIKE \'" + LandTF.getText() + "\'"; ResultSet kurte = befehl.executeQuery(strSQL); kurte.next(); int anzahl = kurte.getInt(1); if(anzahl>0) { ..... } DANKE ! |
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| SQL, Zahlen auf zwei Stellen mit Nullen auffüllen, vgl. sprintf() | Ben | Datenbanken | 8 | 21.04.2007 19:32 |
| Abkürzung des Wochentags in SQL, vgl. strftime in PHP | Ben | Datenbanken | 4 | 12.04.2007 16:51 |
| Zugriff auf Wert des vorhergenden Datensatzes in einer SQL Abfrage | Jay | Datenbanken | 5 | 17.07.2006 15:25 |
| sql query where .... browse array | juergreh | PHP-Programmierung | 6 | 13.05.2006 09:49 |
| SQL Dumper bei all.inkl.com | Jan | Gesuche | 10 | 15.03.2006 19:53 |