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

近日在delphi中向ACCESS插入数据库老是提示‘Exception class EOleException with message 'INSERT INTO 语句的语法错误。’非常怪,在ACCESS中的SQL视图中确可以运行,未有语法问题,

 

在试来试去总算发现在插入的字段中加上中括号就可以解决,之前的都不会估计是此次表内的某个字段成为ACCESS或ADO之类的关键字影响吧!在此记录备忘一下


展开阅读全文

update语句语法错误/insert into语句语法错误 怎么搞??

08-05

adoquery1.SQL.Clear;rnadoquery1.sql.add('update admin set pwd=password,department=un,purview=:pur,operater=:op,date=:lastdate where name=:username');rnadoquery1.Parameters.Clear;rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[0].Name:='password';rnadoquery1.Parameters[0].DataType:=ftstring;rnadoquery1.Parameters[0].Direction:=pdinput;rnadoquery1.Parameters[0].Value:=edit2.Text;rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[1].Name:='un';rnadoquery1.Parameters[1].DataType:=ftstring;rnadoquery1.Parameters[1].Direction:=pdinput;rnadoquery1.Parameters[1].Value:=edit3.Text;rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[2].Name:='pur';rnadoquery1.Parameters[2].DataType:=ftstring;rnadoquery1.Parameters[2].Direction:=pdinput;rnadoquery1.Parameters[2].Value:=edit5.Text;rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[3].Name:='op';rnadoquery1.Parameters[3].DataType:=ftstring;rnadoquery1.Parameters[3].Direction:=pdinput;rnadoquery1.Parameters[3].Value:=edit4.Text;rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[4].Name:='lastdate';rnadoquery1.Parameters[4].DataType:=ftdatetime;rnadoquery1.Parameters[4].Direction:=pdinput;rnadoquery1.Parameters[4].Value:=strtodate(maskedit1.Text);rnadoquery1.Parameters.AddParameter;rnadoquery1.Parameters[5].Name:='username';rnadoquery1.Parameters[5].DataType:=ftstring;rnadoquery1.Parameters[5].Direction:=pdinput;rnadoquery1.Parameters[5].Value:=edit1.Text;rnadoquery1.ExecSQL;rnrnadoquery1.SQL.Clear;rnadoquery1.SQL.Add('insert into admin(name,pwd,purview,department,operater,date)values(:username,:password,:pur,:op,:lastdate)');rnadoquery1.Parameters.Clear;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[0].name:='username';rn adoquery1.Parameters[0].DataType:=ftstring;rn adoquery1.Parameters[0].Direction:=pdinput;rn adoquery1.Parameters[0].Value:=edit1.text;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[1].name:='password';rn adoquery1.Parameters[1].DataType:=ftstring;rn adoquery1.Parameters[1].Direction:=pdinput;rn adoquery1.Parameters[1].Value:=edit2.text;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[2].name:='pur';rn adoquery1.Parameters[2].DataType:=ftstring;rn adoquery1.Parameters[2].Direction:=pdinput;rn adoquery1.Parameters[2].Value:=edit5.text;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[3].name:='un';rn adoquery1.Parameters[3].DataType:=ftstring;rn adoquery1.Parameters[3].Direction:=pdinput;rn adoquery1.Parameters[3].Value:=edit3.Text;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[4].name:='operator';rn adoquery1.Parameters[4].DataType:=ftstring;rn adoquery1.Parameters[4].Direction:=pdinput;rn adoquery1.Parameters[4].Value:=edit4.text;rn adoquery1.Parameters.AddParameter;rn adoquery1.Parameters[5].name:='lastdate';rn adoquery1.Parameters[5].DataType:=ftdatetime;rn adoquery1.Parameters[5].Direction:=pdinput;rn adoquery1.Parameters[5].Value:=StrToDate(maskedit1.text);rn adoquery1.ExecSQL; 论坛

INSERT INTO 语句语法错误

05-09

各位大虾:rn  本人实在是受不了了,用OLEDB连接Access 2000竟然出错,查错查了一天都没发现到底哪错了。帮忙一下,好吗?rnrn 1.insert.aspx代码如下:rn<%@ Page Language="VB" Debug="true" %>rn<%@ Import Namespace="System.Data" %>rn<%@ Import Namespace="System.Data.OleDb" %>rnrn 用Insert语句新增记录rnrn Insert02.aspx rnrn rn rn学号: rn姓名: rn语文: rn英文: rn数学: rnrnrn rnrnrnrnrn rnrn 2. 数据库为database.mdb表名是"成绩1",各字段及类型如下:rnno 文本 10rnname 文本 12rnsex 文本 10rnbirthday 文本 14rnemail 文本 30rnrn 3.出错信息如下:rn“/”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrnINSERT INTO 语句的语法错误。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。rnrn源错误: rnrnrn行 47: Cmd.Parameters("@email").Value = 数学.Textrn行 48: rn行 49: Cmd.ExecuteNonQuery()rn行 50: If Err.Number <> 0 Thenrn行 51: Msg.Text = Err.Descriptionrn rnrn源文件: F:\DotNetTest\insert.aspx 行: 49 rnrn堆栈跟踪: rnrnrn[OleDbException (0x80040e14): INSERT INTO 语句的语法错误。]rn System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) +41rn System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +174rn System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +92rn System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +65rn System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +112rn System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +67rn ASP.Insert_aspx.InsertData(Object sender, EventArgs e) in F:\DotNetTest\insert.aspx:49rn System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +58rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33rn System.Web.UI.Page.ProcessRequestMain() +1277rnrn rnrnrn--------------------------------------------------------------------------------rn版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573 rn 论坛

没有更多推荐了,返回首页