Hallo,
ich schreibe gerade eine Anwenung in javaFX mit einer MySQL MariaDB Datenbank.
Der Query zum aus lesen der Datenbank funktioniert einwandfrei.
Aber wenn ich mit WHERE-Klausel auslesen will tritt die Exception " catch(SQLException err)" in kraft. (siehe bild1).
Das ist die Routine die ich aufrufe:
Habe im Internet geschaut und mein SQL-Befehl
müsste ok sein.
Keine Ahnung was da falsch ist.
Kann da jemand helfen?
Danke und Gruß
Jürgen
ich schreibe gerade eine Anwenung in javaFX mit einer MySQL MariaDB Datenbank.
Der Query zum aus lesen der Datenbank funktioniert einwandfrei.
Aber wenn ich mit WHERE-Klausel auslesen will tritt die Exception " catch(SQLException err)" in kraft. (siehe bild1).
Das ist die Routine die ich aufrufe:
Java:
public void dbTabellenEintraegeArray(int fanz, String feld1, String feld2, String feld3, String feld4, String feld5)
{
int a = 0;
int f = 0;
String x;
dbRet = 6;
String[] dbgelesen = new String[999999];
VitalShowController.anzeintraege = 0;
if (dbOpen == 1)
{
boolean l = true;
boolean g;
dbRet = 0;
String nachname;
String vorname;
String geburtsdatum;
String datum;
String uhrzeit;
String systole;
String diastole;
String puls;
String temperatur;
String groesse;
String gewicht;
String bemerkung;
String spo2;
String mnachname = "";
String mvorname = "";
String mgeburtsdatum = "";
try
{
Statement befehl = verbindung.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = befehl.executeQuery(dbBefehl);
while (l)
{
rs.next();
g = rs.isAfterLast();
if (g)
{
l = false;
}
else
{
if (VitalShowController.dbLesArt == 1)
{
nachname =rs.getString("Nachname");
vorname =rs.getString("Vorname");
geburtsdatum =rs.getString("Geburtsdatum");
if (!(nachname.equals(mnachname)) || !(vorname.equals(mvorname)) || !(geburtsdatum.equals(mgeburtsdatum)))
{
x = vorname+" "+nachname+" "+geburtsdatum;
dbgelesen[VitalShowController.anzeintraege] = x;
VitalShowController.anzeintraege++;
mnachname = nachname;
mvorname = vorname;
mgeburtsdatum = geburtsdatum;
}
}
if (VitalShowController.dbLesArt == 2)
{
nachname =rs.getString("Nachname");
vorname =rs.getString("Vorname");
geburtsdatum =rs.getString("Geburtsdatum");
datum =rs.getString("Datum");
uhrzeit =rs.getString("Uhrzeit");
systole =rs.getString("Systole");
diastole =rs.getString("Diastole");
puls =rs.getString("puls");
temperatur =rs.getString("temperatur");
groesse =rs.getString("groesse");
gewicht =rs.getString("gewicht");
bemerkung =rs.getString("bemerkung");
spo2 =rs.getString("SpO2");
if (fanz > 0)
{
f = 0;
if (nachname.equals(feld2))
{
if (fanz == 1)
{
f = 1;
}
}
if (fanz > 1)
{
if (vorname.equals(feld1))
{
if (fanz == 2)
{
f = 1;
}
}
}
if (fanz > 2)
{
if (geburtsdatum.equals(feld3))
{
if (fanz == 3)
{
f = 1;
}
}
}
if (fanz > 3)
{
if (datum.equals(feld4))
{
if (fanz == 4)
{
f = 1;
}
}
}
if (fanz > 4)
{
if (uhrzeit.equals(feld5))
{
f = 1;
}
}
if (f == 1)
{
x = vorname+"/"+nachname+"/"+geburtsdatum+"/"+datum+"/"+uhrzeit+"/"+systole+"/"+diastole+"/"+puls+"/"+temperatur+"/"+groesse+"/"+gewicht+"/"+bemerkung+"/"+spo2+"/";
dbgelesen[VitalShowController.anzeintraege] = x;
VitalShowController.anzeintraege++;
}
}
else
{
x = vorname+"/"+nachname+"/"+geburtsdatum+"/"+datum+"/"+uhrzeit+"/"+systole+"/"+diastole+"/"+puls+"/"+temperatur+"/"+groesse+"/"+gewicht+"/"+bemerkung+"/"+spo2+"/";
dbgelesen[VitalShowController.anzeintraege] = x;
VitalShowController.anzeintraege++;
}
}
a++;
}
}
rs.close();
}
catch(SQLException err)
{
dbRet = 5;
}
}
else
{
dbRet = 6;
}
if (VitalShowController.anzeintraege > 0)
{
VitalShowController.eintraege = new String[VitalShowController.anzeintraege];
for (a=0; a<VitalShowController.anzeintraege; a++)
{
x = dbgelesen[a];
VitalShowController.eintraege[a] = x;
}
}
}
Habe im Internet geschaut und mein SQL-Befehl
Code:
Vital.datenbank.dbBefehl = "SELECT * FROM "+Vital.datenbank.dbTabelle+" WHERE Vorname = '"+dvorname+"' ORDER BY Nachname, Vorname, Geburtsdatum, Datum DESC, Uhrzeit DESC";
Keine Ahnung was da falsch ist.
Kann da jemand helfen?
Danke und Gruß
Jürgen