Hallo,
ich möchte per Java eine Abfrage einer Accessdatenbank durchführen, wenn ich den SQL String in Access Teste funktioniert dieser einmandfrei, wenn ich den selbigen in Java execute bekomm ich immer ein leeres ResultSet.
Die Abfrage sieht so aus:
SELECT Bauteile.Komponente, Bauteile.KomponentenBezeichnung
FROM Bauteile
WHERE (((Bauteile.Material)="713AG023D2"))
GROUP BY Bauteile.Komponente, Bauteile.KomponentenBezeichnung
HAVING (((Bauteile.KomponentenBezeichnung) Like "ERC*")) OR (((Bauteile.KomponentenBezeichnung) Like "ERA*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGO*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGA*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGC*"));
In Access bekomm ich mein Ergebniss in Java nicht,
kann mir jemand sagen warum?
Da bekomm ich immer "Nichts" zurück.
So dann bin ich auf die Idee gekommen einfach in Access eine Parameterisierte Abfrage zu erstellen und diese dann ich Java mit den entsprechenden Nummern aufzurufen, aber ich weiß erlich gesagt nicht wie dort der Select in Java aussieht er mekert immer rum zu wenige Parameter übergeben.
Fehler:
[Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
Für eure Hilfe wäre ich sehr dankbar.
Grüße
MrTobi
ich möchte per Java eine Abfrage einer Accessdatenbank durchführen, wenn ich den SQL String in Access Teste funktioniert dieser einmandfrei, wenn ich den selbigen in Java execute bekomm ich immer ein leeres ResultSet.
Die Abfrage sieht so aus:
SELECT Bauteile.Komponente, Bauteile.KomponentenBezeichnung
FROM Bauteile
WHERE (((Bauteile.Material)="713AG023D2"))
GROUP BY Bauteile.Komponente, Bauteile.KomponentenBezeichnung
HAVING (((Bauteile.KomponentenBezeichnung) Like "ERC*")) OR (((Bauteile.KomponentenBezeichnung) Like "ERA*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGO*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGA*")) OR (((Bauteile.KomponentenBezeichnung) Like "BGC*"));
In Access bekomm ich mein Ergebniss in Java nicht,
kann mir jemand sagen warum?
Java:
public List<String> getKomponente(String sMatnr) throws SQLException {
List<String> listeBereiche = new ArrayList<String>();
Statement allBereich = null;
ResultSet completeResult = null;
allBereich = myConn.createStatement();
completeResult = allBereich.executeQuery("SELECT Bauteile.Komponente, Bauteile.KomponentenBezeichnung FROM Bauteile WHERE (((Bauteile.Material)='"+sMatrnr+"')) GROUP BY Bauteile.Komponente, Bauteile.KomponentenBezeichnung HAVING (((Bauteile.KomponentenBezeichnung) Like 'ERC*')) OR (((Bauteile.KomponentenBezeichnung) Like 'ERA*')) OR (((Bauteile.KomponentenBezeichnung) Like 'BGO*')) OR (((Bauteile.KomponentenBezeichnung) Like 'BGA*')) OR (((Bauteile.KomponentenBezeichnung) Like 'BGC*'));");
while (completeResult.next()) {
listeBereiche.add(completeResult.getString(1));
}
allBereich.close();
return listeBereiche;
Da bekomm ich immer "Nichts" zurück.
So dann bin ich auf die Idee gekommen einfach in Access eine Parameterisierte Abfrage zu erstellen und diese dann ich Java mit den entsprechenden Nummern aufzurufen, aber ich weiß erlich gesagt nicht wie dort der Select in Java aussieht er mekert immer rum zu wenige Parameter übergeben.
Java:
...
completeResult = allBereich.executeQuery("Select * from Abfrage2 where var='"+sMatrnr+"'");
while (completeResult.next()) {
listeBereiche.add(completeResult.getString(1));
}
allBereich.close();
return listeBereiche;
}
[Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
Für eure Hilfe wäre ich sehr dankbar.
Grüße
MrTobi