Kein ResultSet bei "AND"-Verknüpfung bei Zugriff auf Access-DB

Hertlein79

Grünschnabel
Hallo,

ich habe in meinem Code ein seltsames Phänomen entdeckt, das ich mir selbst nicht erklären kann. Vielleicht kann mir hier jemand weiterhelfen?!

Ich greife mittel JDBC-ODBC auf eine Access-Datenbank zu. Alles funktioniert wunderbar mit der folgender SQL-Anweisung im Java-Code

String query = "SELECT PatientFallNr, Name, Vorname, Geschlecht, format(GebDatum,'dd.mm.yyyy') as Geburtstag, format(AufDatum,'dd.mm.yyyy') as Aufnahmedatum ," +
" format(EntDatum, 'dd.mm.yyyy') as Entlassungsdatum " +
" from Patientenstammdaten " +
" where Name = '" + contentOfjTextFieldSurname + "'" ;

In der Variable query die ich dann an die DB "absetze" steht dann z. B. folgendes:

SELECT PatientFallNr, Name, Vorname, Geschlecht, format(GebDatum,'dd.mm.yyyy') as Geburtstag, format(AufDatum,'dd.mm.yyyy') as Aufnahmedatum , format(EntDatum, 'dd.mm.yyyy') as Entlassungsdatum
from Patientenstammdaten
where Name = 'Schwab'

Wie gesagt funktioniert das einwandfrei! Füge ich jedoch der SQL-Anweisung "AND-Verknüpfungen" hinzu (hier: Vorname = 'Herta'), bekomme ich kein Ergebnis.
Z. B. enthält die Variable query ...

SELECT PatientFallNr, Name, Vorname, Geschlecht, format(GebDatum,'dd.mm.yyyy') as Geburtstag, format(AufDatum,'dd.mm.yyyy') as Aufnahmedatum , format(EntDatum, 'dd.mm.yyyy') as Entlassungsdatum
from Patientenstammdaten
where Name = 'Schwab' and Vorname = 'Herta';

... funktioniert die ganze Geschichte nicht mehr. Die SQL-Anweisung hab ich auch in Access direkt in der "SQL-Ansicht" ausgeführt und da funktioniert diese?

Hat jemand eine Idee, woran das liegen könnte?

Schon mal im voraus besten Dank!

Gruß
Thomas
 
Kein Ergebnis bekommen heißt dann ein leeres resultSet?

Hmm ich kenne mich mit Access nicht wirklich aus, aber versuch doch mal
Code:
Vorname like 'Herta'

Oder teste mal durch, ob es funktioniert, wenn du " statt ' benutzt (sprich \" in Java). Das wären so meien ersten Ansätze.
 
Hallo hammet,

kein Ergebnis heißt, die Tabelle jtable ist leer, sprich es wurden keine Ergebnisse gefunden. Die Spalten sind ja vorhanden. Wenn das ResultSet leer wär, dann würde ich ja eine NullPointerException bekommen ...

Deine beiden Vorschläge habe ich allerdings ohne Erfolg ausprobiert. Hab es auch mal mit "%" versucht. Das komische dabei ist daß das in Access funktioniert?! Da bekomm ich bei

... where Name = 'Schwab'
und bei
... where Name = 'Schwab' and Vorname = 'Herta';
einen Datensatz. Nur Java scheint sich irgendwie an dem "AND" zu stören! Hab das auch alleine mit Vorname = 'Herta' ausprobiert und da bekomm ich auch wiederum über Java ein Ergebnis geliefert.

Für weitere Ideen bin ich sehr dankbar!

Gruß
Thomas
 
Zurück