繁体   English   中英

Jdbc-odbc查询问题

[英]Jdbc-odbc query issue

我在insert into语句中遇到语法错误。

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(); 

我已经尝试过选择查询,它的wokring文件。所以odbc连接很好。只有问题是查询...你能帮我吗?

一个 在准备好的语句中缺少。检查它的查询。你的表中有35个字段和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(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM