代码如下:
Dim db As Database
dim sql as string
ringAdodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\tixingdb1.mdb"
ringAdodc.CommandType = adCmdText
ringAdodc.RecordSource = "select scht.*,txsz.servicecontent,txsz.ringcycle,txsz.ringfrequency from txsz,scht where scht.serviceproductnum =txsz.serviceproductnum and scht.daoqitixing=-1 "
ringAdodc.Refresh
While Not ringAdodc.Recordset.EOF
db.Execute "insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('" & ringAdodc.Recordset("contractnum") & "', '" & ringAdodc.Recordset("serviceproductnum") & "')" ringAdodc.Recordset.MoveNext
Wend
运行时出现insert into语句语法错误,该怎么改?有没有别的方法把recordset里的记录写入数据库的一个表(tixing)中?
Dim db As Database
dim sql as string
ringAdodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\tixingdb1.mdb"
ringAdodc.CommandType = adCmdText
ringAdodc.RecordSource = "select scht.*,txsz.servicecontent,txsz.ringcycle,txsz.ringfrequency from txsz,scht where scht.serviceproductnum =txsz.serviceproductnum and scht.daoqitixing=-1 "
ringAdodc.Refresh
While Not ringAdodc.Recordset.EOF
db.Execute "insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('" & ringAdodc.Recordset("contractnum") & "', '" & ringAdodc.Recordset("serviceproductnum") & "')" ringAdodc.Recordset.MoveNext
Wend
运行时出现insert into语句语法错误,该怎么改?有没有别的方法把recordset里的记录写入数据库的一个表(tixing)中?
你的Insert 語句根本就沒有寫正確﹐字段多于要插入的值!
db.Execute "insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('" & ringAdodc.Recordset("contractnum") & "', '" & ringAdodc.Recordset("serviceproductnum") & "'," & ringAdodc.Recordset("contractdate") & ",'" & ringAdodc.Recordset("daoqitixing") & "','" & ringAdodc.Recordset("servicecontent") & "','" & ringAdodc.Recordset("ringcycle") & "','" & ringAdodc.Recordset("ringfrequency") & "')"
db.Execute "insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('" & ringAdodc.Recordset("contractnum") & "', '" & ringAdodc.Recordset("serviceproductnum") & "','" & ringAdodc.Recordset("contractdate") & "','" & ringAdodc.Recordset("daoqitixing") & "','" & ringAdodc.Recordset("servicecontent") & "','" & ringAdodc.Recordset("ringcycle") & "','" & ringAdodc.Recordset("ringfrequency") & "')"还有可能就是tixing的字段定义了。
那么你可以在
dim strsql as string
strsql= "insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('" & ringAdodc.Recordset("contractnum") & "', '" & ringAdodc.Recordset("serviceproductnum") & "','" & ringAdodc.Recordset("contractdate") & "','" & ringAdodc.Recordset("daoqitixing") & "','" & ringAdodc.Recordset("servicecontent") & "','" & ringAdodc.Recordset("ringcycle") & "','" & ringAdodc.Recordset("ringfrequency") & "')"
debug.print strsql
db.Execute strsql把debug出来的东东发上来.
insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) value ('0001', 'ss1001','2004-8-3','True','dsfsdfsdfdsf','每月','一直')
value 要换成values 不知道行不行.如果楼主他们的不行,就加s看看吧!(我没有去试..^_^)
insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) values ('0001', 'ss1001','2004-8-3','True','dsfsdfsdfdsf','每月','一直')
LGYAN(紫衣随想) 的方法试试!
那么SQL语句可改为
insert into tixing(contractnum,serviceproductnum,contractdate,daoqitixing,servicecontent,ringcycle,ringfrequency) values ('0001', 'ss1001','2004-8-3',1,'dsfsdfsdfdsf','每月','一直')
注意:本处把字符'True'换成了数字1。
最后谢谢各位,小弟刚学不久,日后还请多多指教。