webForumDet fria alternativet

för få argument i insert?

4 svar · 240 visningar · startad av Mc Fetto

Mc FettoMedlem sedan nov. 20022 355 inlägg
#1

Tja jag sitter med följande rad i java:

myDb.setSqlStatement("INSERT INTO Articles (Id, Name, Type, Desription, Price, Quantity) VALUES (\"" + articleNrTextField.getText() + "\" , \"" + "test" + "\" , \"" + categoryList.getSelectedValue() + "\" , \"" + descriptionTextArea.getText() + "\" , \"" + "22" + "\" , \"" + quantityTextField.getText() + "\");");

skriver jag ut den så blir den följande:

INSERT INTO Articles (Id, Name, Type, Desription, Price, Quantity) VALUES ("6" , "test" , "Tools" , "Detaile" , "22" , "6");

Får följande felmedelande:

java.sql.SQLException: [Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 6 förväntades.

Ibland säger den fem ibland 6...

Articles innehåller:

Id (autoincrement)
Name (Text)
Tools (text)
Description (text)
Price (number - long int)
Quantity (number - long int)

Någon som kan tippsa om felet?

cyprysMedlem sedan dec. 20003 563 inlägg
#2

Du skall väl ha enkelfnuttar kring dina textfält istället för "hartassar"

Mc FettoMedlem sedan nov. 20022 355 inlägg
#3

Pinsamt värre :(
Tack cyprys!

Mc FettoMedlem sedan nov. 20022 355 inlägg
#4

Nu får jag detta felmedelande när jag försöker updatera en tuple:

UPDATE Articles SET Quantity='10' WHERE Id='666';
java.sql.SQLException: [Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.

r: där behövde man inte ha ngr fnuttar alls :)

Engine^Medlem sedan dec. 20003 887 inlägg
#5

Om du har Quantity och Id som numeriska data ska du inte ha några fnuttar alls runt dina värden.

red.
Hmm... läste just den lilla redigeringen :r :)

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)