GVKun编程网logo

INSERT INTO语句中的Java SQL语法错误(java中insert into values完整代码)

25

在本文中,我们将详细介绍INSERTINTO语句中的JavaSQL语法错误的各个方面,并为您提供关于java中insertintovalues完整代码的相关解答,同时,我们也将为您带来关于asp.ne

在本文中,我们将详细介绍INSERT INTO语句中的Java SQL语法错误的各个方面,并为您提供关于java中insert into values完整代码的相关解答,同时,我们也将为您带来关于asp.net Insert into 语句的语法错误、asp执行sqlserver的insert into语句出现逗号错误、c# – 使用OleDb在INSERT INTO语句中出现语法错误、DELPHI INSERT INTO 语句的语法错误 解决方法的有用知识。

本文目录一览:

INSERT INTO语句中的Java SQL语法错误(java中insert into values完整代码)

INSERT INTO语句中的Java SQL语法错误(java中insert into values完整代码)

我正在尝试将下面的数据插入具有ID [autoNumber],type [text],to [text],from [text],message
[text]和attachmentLoc [text]列的表中

因此,生成了自动编号,我将其插入并提供了列名。运行控制台时,将打印出:

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 MultiEchoServer.saveMessage(MultiEchoServer.java:147)at ClientHandler.run(MultiEchoServer.java:409)

带来错误的代码是:

try    {        String sql = "INSERT INTO Messages (type, to, from, message, attachmentLoc) VALUES(?,?,?,?,?)";             PreparedStatement stmt = database.prepareStatement(sql);        stmt.setString(1, message.getType());        stmt.setString(2, message.getTo());        stmt.setString(3, message.getFrom());        stmt.setString(4, message.getMessage());        stmt.setString(5, attachmentLoc);        stmt.executeUpdate();    }    catch (SQLException e)    {        System.out.println("Could not perform statement");        e.printStackTrace();    }

谢谢你的帮助

答案1

小编典典

From是保留字,在将其更改为messageFrom之后,它允许插入数据库。

asp.net Insert into 语句的语法错误

asp.net Insert into 语句的语法错误

asp教程.net insert into 语句的语法错误的解决方法 问题描述: 我用oledb的方式向access数据里写数据,示例源码如下: string sql=select * from multitable; oledbdataadapter olesub=new oledbdataadapter(sql,olecn); oledbcommandbuilder cb1=new oledb

   asp教程.net insert into 语句的语法错误的解决方法

  问题描述:

  我用oledb的方式向access数据里写数据,示例源码如下:

  string sql="select * from multitable";

  oledbdataadapter olesub=new oledbdataadapter(sql,olecn);

  oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);

  dataset ds=new dataset();

  olesub.fill(ds."multitable");

  datatable dt=ds.tables["multitable"];

  datarow dr=dt.newrow();

  dr["prserv"]="ws"+index.tostring().padleft(6,''''''''0'''''''');

  dr["number"]="00063";

  ....................................

  dt.rows.add(dr);

  olesub.update(ds,"mulittable");

  这段代码编译的时候是没有问题的,但是在运行的时候,会报出一个运行时错误:”insert into 语句的语法错误“。

  用oledbadapter的时候,我并没有指定insert语句,而是用oledbcommandbuilder 来自动产生insert 语句的。仔细想了一下,为什么会产生这个错误呢?我的结论是,,可能这张表里的字段名使用了access系统的保留字。于是我在access里创建了一个查询,自己写了一个insert sql,证实我的结论是正确的,number是系统的一个保留字,那怎么修改呢?

  一般来说,最简单的方法就是改掉这个字段名,换成非系统保留字的名字,但是库的结构是客户提供的,不允许修改,只有想别的办法。考虑以前的经验,操作access,sql server的时候,如果表的字段中包含了系统的保留字的话,我们在字段外加上方括号就可以了,比如 insert into tblmultitable(prserv,[number]) values(.......)就可以了。可是从上面的代码中我们看到并没有什么地方我们可以指定insert 语句。我想oledbcommandbuilder应该是根据adapter使用的select语句自动生成insert 语句的,所以只要给select 语句中的字段加上方括号就可以了,所以我作了如下的修改:

  string sql="select prserv,[number],priorref,grantor,grantee from multitable";

  修改完毕以后,测试以后,仍然产生以前的"insert into 语句的语法错误";问题会出在哪里呢?我想应该还是在oledbcommanbuilder上,一般来说,只需要这样用oledbcommanbuilder类就可了:

  oledbdataadapter olesub=new oledbdataadapter(sql,olecn);

  oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);

  打开msdn,看看oledbcommanbuilder的类成员。发现两个很关键的属性:quoteprefix,quotesuffix;仔细想想,oledb可以访问的数据类型非常多啊,所以关键字段的前缀,后缀的处理方法肯定不尽相同,比如访问excel的时候表明应该写成[sheet1$的方式],所以提供这样一种方式是相当灵活的。接下来我再次修改代码,对这两个属性赋值:

  oledbdataadapter olesub=new oledbdataadapter(sql,olecn);

  oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);

  cb1.quoteprefix="[";

  cb1.quotesuffix="]";

asp执行sqlserver的insert into语句出现逗号错误

asp执行sqlserver的insert into语句出现逗号错误

谢谢你,你的意见提醒了我使用这语句: response.write(sql) ''在这里输出一下sql语句 , 看看哪里有没有问题 response.end '' 停止 如下: sql="Insert InTo member2011(name,telphone,number,college,classname,iscadre,remark,position) values(''"+sname+"'',

谢谢你,你的意见提醒了我使用这语句:

response.write(sql) ''在这里输出一下sql语句 , 看看哪里有没有问题
response.end '' 停止

如下:

sql="Insert InTo member2011(name,telphone,number,college,classname,iscadre,remark,position) values(''"+sname+"'',''"+telphone+"'',''"+snumber+"'',''"+college+"'',''"+classname+"'',"+iscadre+",''"+remark+",''"+position+"'')"
response.write(sql) ''在这里输出一下sql语句 , 看看哪里有没有问题
response.end '' 停止
Conn.Execute(sql)
Conn=nothing
Conn.Close

让我知道了问题所在,是因为我把那些变量放在了一个sub里面,成了局部变量,所以就在这个sub里面,那些变量为空。从而出问题了

c# – 使用OleDb在INSERT INTO语句中出现语法错误

c# – 使用OleDb在INSERT INTO语句中出现语法错误

美好的一天.我正在尝试创建一个注册页面并将信息存储在数据库中.我使用Microsoft Access创建了数据库.我明白了:

Syntax error in INSERT INTO statement

每次按“注册”按钮.我已经尝试在网上搜索类似的问题,并发现一些像“保留字”和“它必须是你的间距”.我做了那些,它仍然给我错误.我错过了什么吗?

这是代码:

public void InsertRecord()
{
    OleDbCommand cmd = new OleDbCommand("INSERT INTO ElemData(StudentID,[Password],[Name],Age,Birthday,Address,FatherName,MotherName," +
    "GuardianName,Class,Section,Email,PhoneNumber,MobileNumber) " + 
    "VALUES (@studentid,@password,@name,@age,@birth,@address,@father,@mother,@guardian,@classs,@section,@email,@phone,@mobile)",DBConnection.myCon);
    cmd.Parameters.Add("@studentid",OleDbType.VarChar).Value = Studentid;
    cmd.Parameters.Add("@password",OleDbType.VarChar).Value = Password;
    cmd.Parameters.Add("@name",OleDbType.VarChar).Value = Name;
    cmd.Parameters.Add("@age",OleDbType.VarChar).Value = Age;
    cmd.Parameters.Add("@birth",OleDbType.VarChar).Value = Birth;
    cmd.Parameters.Add("@address",OleDbType.VarChar).Value = Address;
    cmd.Parameters.Add("@father",OleDbType.VarChar).Value = Father;
    cmd.Parameters.Add("@mother",OleDbType.VarChar).Value = Mother;
    cmd.Parameters.Add("@guardian",OleDbType.VarChar).Value = Guardian;
    cmd.Parameters.Add("@classs",OleDbType.VarChar).Value = Classs;
    cmd.Parameters.Add("@section",OleDbType.VarChar).Value = Section;
    cmd.Parameters.Add("@email",OleDbType.VarChar).Value = Email;
    cmd.Parameters.Add("@phone",OleDbType.VarChar).Value = Phone;
    cmd.Parameters.Add("@mobile",OleDbType.VarChar).Value = Mobile;
    if (cmd.Connection.State == ConnectionState.Open)
    {
        cmd.Connection.Close();
    }
    DBConnection.myCon.open();
    cmd.ExecuteNonQuery();
    DBConnection.myCon.Close();
}

解决方法

类和部分都是 reserved words.将它们放在方括号中,就像保留字[密码]和[名称]一样.

该页面包含Allen browne Database Issue Checker Utility的链接.如果您的Office版本包含Access,则可以下载该实用程序并使用它来检查Access db文件以查找其他问题对象名称.

DELPHI INSERT INTO 语句的语法错误 解决方法

DELPHI INSERT INTO 语句的语法错误 解决方法

总结

以上是小编为你收集整理的DELPHI INSERT INTO 语句的语法错误 解决方法全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

关于INSERT INTO语句中的Java SQL语法错误java中insert into values完整代码的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net Insert into 语句的语法错误、asp执行sqlserver的insert into语句出现逗号错误、c# – 使用OleDb在INSERT INTO语句中出现语法错误、DELPHI INSERT INTO 语句的语法错误 解决方法等相关知识的信息别忘了在本站进行查找喔。

本文标签: