【问题标题】:SQL Exception: com.microsoft.sqlserver.jdbc.SQLServerException while inserting data [closed]SQL 异常:插入数据时出现 com.microsoft.sqlserver.jdbc.SQLServerException [关闭]
【发布时间】:2015-06-11 06:40:27
【问题描述】:

SQL 异常:com.microsoft.sqlserver.jdbc.SQLServerException: 'st' 附近的语法不正确。

这是我整个程序代码的数据插入部分。我猜这里的某个地方有异常

String SQL;
            stmt = con.createStatement();
            SQL = "INSERT INTO formtable (clgname,clgaddres,hmob,hemail,pmonth,pyear,sname,gender,dob,paddr,smob,semail,tenboard,tenyop,tenper,tendiv,twscboard,twscyop,twscper,twscdiv,bscbcaboard,bscbcayop,bscbcaper,bscbcadiv,mscboard,mscyop,mscper,mscdiv,frsem,scsem,thsem,frthsem,hardware,os,languages,dbms,communication,stporganization,stpobjective,stphardware,stpsoftware,stpduration,othertraining) VALUES ('"+combo1+"','"+ta1+"','"+text1+"','"+text2+"','"+combo2+"','"+text3+"','"+text4+"','"+rbdtext+"','"+date+"','"+ta2+"','"+text5+"','"+text6+"','"+tboard+"','"+tyop+"','"+tper+"',"+tdiv+"','"+twboard+"','"+twyop+"','"+twper+"','"+twdiv+"','"+bsbcboard+"','"+bsbcyop+"','"+bsbcper+"','"+bsbcdiv+"','"+mscboard+"','"+mscyop+"','"+mscper+"','"+mscdiv+"','"+fsem+"','"+ssem+"','"+tsem+"','"+fosem+"','"+text7+"','"+text8+"','"+text9+"','"+text10+"','"+text11+"','"+text12+"','"+ta3+"','"+text13+"','"+text14+"','"+text15+"','"+ta4+"')";
            int rowsEffected = stmt.executeUpdate(SQL);

【问题讨论】:

  • 您可以打印您的SQL 字符串并直接在数据库上执行您的查询,看看它是否会产生问题?对于此类查询,建议使用PreparedStatement,以避免SQL injection
  • 它看起来像你的价值之一可能有' 因此错误。请使用正确实现的参数而不是字符串连接
  • 问题出在 "+tdiv+"' 你错过了那里的单引号
  • @NamanGala - 我正在尝试
  • @ArunprasanthKV- 非常感谢..

标签: java sql-server netbeans jdbc


【解决方案1】:

您在查询中遗漏了一个单引号 在"+tdiv+"'

应该是

'"+tdiv+"'

使用以下查询

String SQL;
            stmt = con.createStatement();
            SQL = "INSERT INTO formtable (clgname,clgaddres,hmob,hemail,pmonth,pyear,sname,gender,dob,paddr,smob,semail,tenboard,tenyop,tenper,tendiv,twscboard,twscyop,twscper,twscdiv,bscbcaboard,bscbcayop,bscbcaper,bscbcadiv,mscboard,mscyop,mscper,mscdiv,frsem,scsem,thsem,frthsem,hardware,os,languages,dbms,communication,stporganization,stpobjective,stphardware,stpsoftware,stpduration,othertraining) VALUES ('"+combo1+"','"+ta1+"','"+text1+"','"+text2+"','"+combo2+"','"+text3+"','"+text4+"','"+rbdtext+"','"+date+"','"+ta2+"','"+text5+"','"+text6+"','"+tboard+"','"+tyop+"','"+tper+"','"+tdiv+"','"+twboard+"','"+twyop+"','"+twper+"','"+twdiv+"','"+bsbcboard+"','"+bsbcyop+"','"+bsbcper+"','"+bsbcdiv+"','"+mscboard+"','"+mscyop+"','"+mscper+"','"+mscdiv+"','"+fsem+"','"+ssem+"','"+tsem+"','"+fosem+"','"+text7+"','"+text8+"','"+text9+"','"+text10+"','"+text11+"','"+text12+"','"+ta3+"','"+text13+"','"+text14+"','"+text15+"','"+ta4+"')";
            int rowsEffected = stmt.executeUpdate(SQL);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多