用asp.net的update更新数据库出现Insert into statement的错误,是什么原因呢

来源:百度知道 编辑:UC知道 时间:2024/06/19 14:14:07
是一段下订单的代码,执行到Cpadapter.Update(Cpdat, "Order")时就出现报错,"insert into statement"什么的,但也没有sql语句,不知道怎么改,谢谢各位大侠~~

Sub NewOrder_Click(sender As object, e As EventArgs)
Dim cpConn,Cpstring AS String
Dim conn AS OleDbConnection
Dim Cpadapter AS new OleDbDataAdapter
Dim Cpdat AS DataSet
Dim dt AS DataTable
Dim Newnow
Dim Tystring as string
cpConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("dat/dwdat.mdb")
conn = New OledbConnection(cpConn)
Cpstring = "SELECT * from [Order]"
Cpadapter = new OleDbDataAdapter(Cpstring,conn)
Dim yy as OleDbCommandBuilder=new OleDbCommandBuilder (Cpadapter)
Cpdat = New DataSet()
Cpadapter.Fill(Cpdat,"Order")
Dim i as integer
Newnow=now
Tystring=session("UserName")+Cstr(year(Newnow))+iif(len(month(Newnow))=2,cstr(month(Newnow)),"0"+cstr(month(Newnow)))+iif(

说你的INSERT语句有错,这个语句是自动生生的,所以错误可能出在:
1,你给字段的值不符合数据库里字段的定义,比如不能为空的字段传入了空值等.
2,关健字有冲突.比如,Cpadapter.Update(Cpdat, "Order") 这个里的表名Order极有可能会造成冲突,要尽量避免取这样的Table名.改为ORDERS之类的试试看.

dr(0) = Tystring
dr(1) = session("UserName")
dr(2) = Cpbt.Rows(i)("ProductName")
dr(3) = Cpbt.Rows(i)("ProductPrice")
dr(4) = Cpbt.Rows(i)("SL")
dr(5) = Newnow
这几个注意一下所填写的字段名称是否正确.
同时觉得dr(1) = session("UserName"),这句似乎有问题.可能需要改成dr(1) = session("UserName").ToString()

Tystring=session("UserName")+Cstr(year(Newnow))+iif(len(month(Newnow))=2,cstr(month(Newnow)),"0"+cstr(month(Newnow)))+iif(len(day(Newnow))=2,cstr(day(Newnow)),"0"+cstr(day(Newnow)))+cstr(hour(Newnow))+cstr(Minute(Newnow))+cstr(second(Newnow))
肯定报错拉.
你仔细去看下他们的类型,看能不能加一起.