SQL Syntax falsch?? ODBC Microsoft Access Driver

Status
Nicht offen für weitere Antworten.

Chimi

Mitglied
Ich hab folgendes Problem. Ich möchte eine Sql Abfrage in meiner Funktino machen mit einer Bedingung. (Ohne die Where klausur funktioniert die Abfrage), aber mit der Where Klausur kommt immer folgende fehlermeldung:

[Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.

Code:
	public Vector<Artikel> getBestimmteArtikel(String firma)
	{
		Vector<Artikel> artikel = new Vector<Artikel>();
		try
		{
			Statement anfrage = verbindung.createStatement();
			String	sql = "SELECT artikelname, liefereinheit FROM artikel WHERE lieferant = '" + firma +"'";	
			System.out.println(sql);

			ResultSet ergebnis = anfrage.executeQuery(sql);
			while(ergebnis.next())
			{
				String artikelname = ergebnis.getString("artikelname");
				String liefereinheit = ergebnis.getString("liefereinheit");
				Artikel liste = new Artikel(artikelname, liefereinheit);
				artikel.add(liste);
			}
		}
		catch(SQLException e)
		{
			e.printStackTrace();
		}
		return(artikel);

Der Parameter firma wird wie folgt ermittelt und übergeben:

Code:
		ActionListener boxFirma = new ActionListener() 
		{
			  public void actionPerformed(ActionEvent actionEvent) 
			  { 
				  
				  String test = box.getSelectedItem().toString();
				  String firma = test.substring(0, test.indexOf("(")-1);
				  System.out.println(firma);
				  
				  Vector<Artikel> bestimmteArtikel = artikel.getBestimmteArtikel(firma);
				  list.setListData(bestimmteArtikel);
			  }
			};
		box.addActionListener(boxFirma);

Bei einer kurzen Zwischenabfrage der sql Variablen wird folgender String ausgegeben:
SELECT artikelname, liefereinheit FROM artikel WHERE lieferant = 'Exotic Liquids'

Dieser String wird an die Datenbank abgeschickt, und hier tritt der Fehler auf.

Ich sitz nun schon laengere zeit an dem Problem und wär für jede Hilfe dankbar.


Lg Chimi
 
Zuletzt bearbeitet:
S

SlaterB

Gast
seltsam seltsam,
schon ein PreparedStatement mit ?-Parameter versucht?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben