2015-04-06 7 views
0

Я пытался вставить запись в базу данных, поэтому я создал метод insert. проблема заключается в том, что я получаю эту ошибкуОшибка ввода данных в базу данных

java.sql.SQLException: No value specified for parameter 7 

вот мой код

public void InsertDataInDB (Connection conn, Statement stmt, event MyNewEvent,String TableName){ 

    try { 
     conn = DriverManager.getConnection(DB_URL, USER, PASS); 
     stmt = conn.createStatement(); 

     //String Values = MyNewEvent.EventName+"', '"+MyNewEvent.Location+"', '"+MyNewEvent.Description+"', '"+MyNewEvent.Creator+"', '"+MyNewEvent.startDate+"', '"+MyNewEvent.endDate; 
     //Values = "'sjsjs','sss',''"; 
     String sql = "INSERT INTO " + TableName+ " (EventName, Location, Description, Creater, StartDate, EndDate) VALUES (?, ?, ?, ?, ?, ?)" ; 
     PreparedStatement statement = conn.prepareStatement(sql); 

     statement.setString(1, MyNewEvent.EventName); 
     statement.setString(2, MyNewEvent.Location); 
     statement.setString(3, MyNewEvent.Description); 
     statement.setString(4, MyNewEvent.Creator); 
     statement.setString(5, MyNewEvent.startDate); 
     statement.setString(6, MyNewEvent.endDate); 
     statement.execute(); 
     System.out.println("Successfully inserted record into database"); 
    } 
    catch(SQLException se){ 
      se.printStackTrace(); 

    }//end finally try 


} 
+2

Попробуйте заменить TableName на имя таблицы жестко запрограммированной базы данных и посмотреть, что произойдет. –

+0

try ** String sql = "INSERT INTO [" + TableName + "] ([EventName]", [Location], [Description], [Creater], [StartDate], [EndDate]) VALUES (?,?,?,? ,?,?) "; ** –

ответ

0

Это имя таблицы, что было неправильным в вызове функции в главном. спасибо за указание на это.

+0

отсутствие репутации не дает вам права писать комментарий в качестве ответа! –