我在insert数据的时候,IE提示出错信息为:Syntax error in INSERT INTO statement
我实在看不出哪里写的不对啊,哪位能帮我看看呢?谢谢!下面是代码:
string item=this.txbItemID.Text.ToString();
string goodm=this.txbGoodM.Text.ToString();
string project=this.txbPrjtN.Text.ToString();
string length=this.txbLength.Text.ToString();
string size=this.txbSize.Text.ToString();
string qty=this.txbQty.Text.ToString();
string weight=this.txbWeight.Text.ToString();
string comdate=this.txbComDate.Text.ToString();
string draw=this.txbDrawNo.Text.ToString();
string location=this.txbLocation.Text.ToString();
string pains=this.txbPainStatus.Text.ToString();
string weld=this.txbWeldStatus.Text.ToString();
string re=this.txbRemak.Text.ToString();
string own=this.txbOwn.Text.ToString();
string delivery=this.txbDelivery.Text.ToString(); string strCon =@"Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + Server.MapPath("FinishGoods.mdb");
OleDbConnection myConn = new OleDbConnection ( strCon ) ;

myConn.Open();
OleDbCommand cmd=new OleDbCommand("insert into ItemMaster(ITEMID,GOODMEM,PROJNO,LENGTH,SIZE,QTY,WEIGHT,COMPDATE,DRAWNO,LOCATION,PAINTSTATUS,WELDSTATUS,REMARK,OWNBY,DELBY) Values(@item,@goodm,@project,@length,@size,@qty,@weight,@comdate,@draw,@location,@pains,@weld,@re,@own,@delivery)",myConn);
cmd.Parameters.Add(@item,OleDbType.VarChar,50);
cmd.Parameters.Add(@goodm,OleDbType.VarChar,50);
cmd.Parameters.Add(@project,OleDbType.VarChar,50);
cmd.Parameters.Add(@length,OleDbType.VarChar,50);
cmd.Parameters.Add(@size,OleDbType.VarChar,50);
cmd.Parameters.Add(@qty,OleDbType.VarChar,50);
cmd.Parameters.Add(@weight,OleDbType.VarChar,50);
cmd.Parameters.Add(@comdate,OleDbType.VarChar,50);
cmd.Parameters.Add(@draw,OleDbType.VarChar,50);
cmd.Parameters.Add(@location,OleDbType.VarChar,50);
cmd.Parameters.Add(@pains,OleDbType.VarChar,50);
cmd.Parameters.Add(@weld,OleDbType.VarChar,50);
cmd.Parameters.Add(@re,OleDbType.VarChar,50);
cmd.Parameters.Add(@own,OleDbType.VarChar,50);
cmd.Parameters.Add(@delivery,OleDbType.VarChar,50); cmd.Parameters[0].Value=item;
cmd.Parameters[1].Value=goodm;
cmd.Parameters[2].Value=project;
cmd.Parameters[3].Value=length;
cmd.Parameters[4].Value=size;
cmd.Parameters[5].Value=qty;
cmd.Parameters[6].Value=weight;
cmd.Parameters[7].Value=comdate;
cmd.Parameters[8].Value=draw;
cmd.Parameters[9].Value=location;
cmd.Parameters[10].Value=pains;
cmd.Parameters[11].Value=weld;
cmd.Parameters[12].Value=re;
cmd.Parameters[13].Value=own;
cmd.Parameters[14].Value=delivery;
cmd.ExecuteNonQuery();
myConn.Close();

解决方案 »

  1.   

    字段SIZE是保留字。
     加个中括号看看。[SIZE]
    还不行的话,换个名字试试看。
      

  2.   

    我觉得也是关键字的问题,
    不只是size,另外length,location,weight等等都太熟悉了,建议还是把变量加个前缀再使用吧(比如i_size)
      

  3.   

    肯定有错误了,看是不是类型错误什么的。
    用sql事件探查器追踪下......看看是什么错误.
      

  4.   

    争议监视一下你的SQL语句...
    然后到事件探查器中看一下...检查sql语句比较好的办法
      

  5.   

    表中字段的数据类型是否正确?比如:size,weight是字符类型吗?要用与数据库对应的类型才行