2013-08-02 3 views
0

Привет Я пытаюсь оператор вставки, но получаю следующее сообщение об ошибке:Слишком мало параметров на вставной заявление

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.

Вот мой код:

try { 

    Statement stmt = con.createStatement(); 

    String mySqlStatement = "INSERT INTO EntrantDetails (ID, Name, Surname, Gender, DOB ChipNum) VALUES (" + details.getIDNum()+ "," + details.getName() + "," + details.getSurname() + "," + details.getGender() + "," + details.getDOB() + "," + details.getChipNum() + ")"; 
    stmt.executeUpdate(mySqlStatement);  
    } 

    catch (Exception ex) 
    { 
     ex.printStackTrace(); 
    } 
+0

Предположительно details.getName() возвращает строку? Если это так, он должен быть «процитирован» (и экранирован) –

+3

Отключить тему, но начните использовать 'PreparedStatement'! – NINCOMPOOP

+0

Также является DOB ChipNum одним полем или отсутствует недостающая запятая. Если это одно поле, это правильное представление или должно быть [] вокруг него ??? –

ответ

1

Вы пропускаете запятую между DOB и ChipNum. Обратите внимание на то, что вы пишете.

0

У вас должна быть запятая между DOB и ChipNum?

0

DOB и chipnum - это два отдельных поля, я полагаю. Если это так, они должны быть разделены запятой.

Смежные вопросы