# hilfe! java.sql.SQLException



## itd (22. Mai 2006)

Hallo!
Also mein Computer schpuckt immer das gleiche aus : "java.sql.SQLException: [Microsoft] [ODBC Microssoft Access Driver] Too few parameters. Expected 1."


```
import java.sql.*;

public class Konto{
	public static void main(String[] args) throws Exception{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		Connection con = DriverManager.getConnection("jdbc:odbc:KONTEN");
		Statement stat = con.createStatement();
		String sql = "INSERT INTO KONTO(Name,Pin,Betrag,zuVerfuegung) VALUES(Someone,5678,90000,60000)";
		stat.executeUpdate(sql);
		
		con.close(); 
		
		}	
	}
```

Also, Daten lesen geht.
Ich binn was SQL angeht ein ziemlicher Anfänger (Heute habe ich angefangen mich damit zu befassen :### )
Wahrscheinlich ist der Code falsch  .
Weis wer, was Schief gegangen ist??


----------



## André Uhres (23. Mai 2006)

Wie viele Spalten hat KONTO?


----------



## itd (23. Mai 2006)

Vier Spalten. Es ist eine Einfache Tabelle, gestaltet in Microsoft Access.
Die erste enthält ein String (Name), die anderen enthalten Nummern.


----------



## WPNCC1701D (23. Mai 2006)

Hallo,

füge mal zwischen KONTO( und  bei VALUES( ein Leerzeichen vor der Klammer ein, 
also:

String sql = "INSERT INTO KONTO (Name,Pin,Betrag,zuVerfuegung) VALUES (Someone,5678,90000,60000)"; 


HTH 
Gruß 
Wolfgang


----------



## alaska94 (23. Mai 2006)

Hallo Versuche mal Someone in " zu setzen.

String sql = "INSERT INTO KONTO (Name,Pin,Betrag,zuVerfuegung) VALUES ('Someone',5678,90000,60000)";


Gruß

alaska


----------



## itd (23. Mai 2006)

Danke für die Vorschläge, geht aber leider immer noch nicht.  Mit den Leerzeichen kriege ich die selbe Ausnahme,
wenn ich aber den Namen zwischen zwei ' Zeichen setze, kriege ich "java.sql.SQLException : General Exception". 
Habe auch versucht den Namen zwischen zwei " Zeichen zu setzen, also \"Someone\", nutzte aber Gar nichts.
Ich Glaube nicht, dass es ein java problem ist, sondern ein Problem mit den SQL argumenten.  :bahnhof:


----------



## WPNCC1701D (23. Mai 2006)

Hallo, 

also ich habe eine Access "Datenbank" angelegt, und deinen Code getestet.
Bei mir geht's. Das einzige was ich geändert habe, ist Someone in einfache Anführungszeichen 
zu setzen.

String sql = "INSERT INTO KONTO(Name,Pin,Betrag,zuVerfuegung) VALUES('Someone',5678,90000,60000)";

Also am Quellcode liegts nicht.

Gruß 
Wolfgang


----------



## itd (24. Mai 2006)

Danke für die Hilfe. Das mit den Einführungszeichen hat doch funktioniert, jedoch war die Pin Nummer die gleiche, wie  bei einem schon enthaltenem Konto  . Die Pin Nummer ist der Schlüssel, also kein wunder, das ich noch immer  eine Ausnahme gekriegt habe...

Nochmals danke für die Hilfe


----------

