2012-12-11 115 views
0

我在插入語句時出現語法錯誤。Jdbc-odbc查詢問題

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. 
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) 
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149) 
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:216) 
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeUpdate(JdbcOdbcPreparedStatement.java:138) 
at com.cron.LockboxReports.execute(Reports.java:174) 
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534) 

這裏查詢

String sql2 = "INSERT INTO Report (Age,GoLive,Number,CustomerName,Address,Status,SubStatus,Sqrt,Type,Code,Deposit,filesend,approved,sendtoClient,byClient,fileapproved,TestSetups,Images,ImApproved,ProdSetupsAt,TSApprov,ToClient,ReceivedbyClient,ReceivedApproved,ItemsSent,ItemsApproved,ODsend,Approved,TotalEmail,Verified,fyCut,CodeToProd,CodeToComplete,Request,Complete) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 

preparedstatement = con3.prepareStatement(sql2); 
      //Statement stmt = con3.createStatement(); 

      preparedstatement.setString(1, Age); 
.... 
preparedstatement.executeUpdate(); 

我有選擇查詢嘗試,它的工作呢file.So ODBC連接good.Only問題是查詢......你可以幫我。

回答

2

One ?在準備好的語句中缺少。請檢查它的查詢。表中有34個字段和34個字段? 。

String sql2 = "INSERT INTO Report(Age,GoLive,Number,CustomerName,Address,Status,SubStatus,Sqrt,Type,Code,Deposit,filesend,**approved**,sendtoClient,byClient,fileapproved,TestSetups,Images,ImApproved,ProdSetupsAt,TSApprov,ToClient,ReceivedbyClient,ReceivedApproved,ItemsSent,ItemsApproved,ODsend,**Approved**, TotalEmail,Verified,fyCut,CodeToProd,CodeToComplete,Request,Complete) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 

有兩列批准您的表,這是問題糾正同名

使用本

preparedstatement stmt= con3.prepareStatement(sql2); 
     //Statement stmt = con3.createStatement(); 

     stmt.setString(1, Age); 

stmt.executeUpdate(); 
+0

增加了一個? ,仍然得到相同的錯誤... – user441978

+0

你還記得添加另一個參數值嗎? – Marvo

+0

是的,我添加了第35個參數..請告知語法錯誤 – user441978