回 帖 发 新 帖 刷新版面

主题:一个SQL数据库错误提示?

Private Sub add()
   Dim addUserRec As New ADODB.Recordset
   Dim DBstr As String
   Dim M, QQ
   Dim A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10
   Dim A11, A12, A13, A14, A15, A16, A17, A18, A19
   Dim A20, A21, A22, A23, A24, A25, A26, A27, A28
   A0 = Text1(0).Text  
   A1 = Text1(1).Text  
   A2 = Text1(2).Text  
   A3 = Val(Text1(3).Text)  
   A4 = Val(Text1(4).Text)  
   A5 = Val(Text1(5).Text) 
   A6 = Val(Text1(6).Text)  
   A7 = Val(Text1(7).Text)  
   A8 = Val(Text1(8).Text)  
   A9 = Text1(9).Text  
   A10 = Text1(10).Text  
   A11 = Val(Text1(11).Text)  
   A12 = Val(Text1(12).Text)  
   A13 = Val(Text1(13).Text)  
   A14 = Val(Text1(14).Text)  
   A15 = Val(Text1(15).Text)  
   A16 = Val(Text1(16).Text)  
   A17 = Val(Text1(17).Text)  
   A18 = Text1(18).Text 
   A19 = Text1(19).Text 
   A20 = Val(Text1(20).Text) 
   A21 = Val(Text1(21).Text) 
   A22 = Val(Text1(22).Text) 
   A23 = Val(Text1(23).Text) 
   A24 = Val(Text1(24).Text) 
   A25 = Val(Text1(25).Text) 
   A26 = Text1(26).Text 
   A27 = Text1(27).Text 
   A28 = Text1(28).Text 

   Set addUserRec = Adodc1.Recordset   '向ADODB控件所连接的数据库表中添加一条新的记录
   DBstr = "select * from 叠片"
   addUserRec.AddNew
   addUserRec.Fields("合同号") = A0 
   addUserRec.Fields("产品编号") = A18 
   addUserRec.Fields("客户编码") = A9 
   addUserRec.Fields("客户名称") = A1 
   addUserRec.Fields("轭截面积") = A15 
   addUserRec.Fields("图号") = A19 
   addUserRec.Fields("机型号") = A10 
   addUserRec.Fields("硅钢牌号") = A27 
   addUserRec.Fields("铁心形式") = A26 
   addUserRec.Fields("检验日期") = A2 
   addUserRec.Fields("主级叠厚") = A3 
   addUserRec.Fields("总叠厚") = A4 
   addUserRec.Fields("最大对角线") = A5 
   addUserRec.Fields("实测空流") = A13 
   addUserRec.Fields("标准电压") = A6 
   addUserRec.Fields("实测电压") = A11 
   addUserRec.Fields("标准匝数") = A7 
   addUserRec.Fields("实测匝数") = A12 
   addUserRec.Fields("实测损耗") = A14 
   addUserRec.Fields("计算损耗") = A17 
   addUserRec.Fields("标准损耗") = A8 
   addUserRec.Fields("备注") = A28 
   addUserRec.Fields("计算重量") = A16
   addUserRec.Fields("实测重量") = A15 
   addUserRec.Fields("心柱磁密") = A22 
   addUserRec.Fields("铁轭磁密") = A23 
   addUserRec.Fields("柱单位铁损") = A24 
   addUserRec.Fields("轭单位铁损") = A25 
   addUserRec.Fields("柱截面积") = A20 
   addUserRec.UpdateBatch
   Adodc1.Refresh  
   M = "存盘完成。"
   MsgBox M, QQ, "存盘"
End Sub

同样的代码在ACCESS里没有问题.
把数据库换成SQL,出现上面图片的错误?
就是这句话 addUserRec.UpdateBatch
帮忙看看,谢谢!

回复列表 (共4个回复)

沙发

[quote]   Dim A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10
   Dim A11, A12, A13, A14, A15, A16, A17, A18, A19
   Dim A20, A21, A22, A23, A24, A25, A26, A27, A28
   A0 = Text1(0).Text  
   A1 = Text1(1).Text  
   A2 = Text1(2).Text  
   A3 = Val(Text1(3).Text)  
   A4 = Val(Text1(4).Text)  
   A5 = Val(Text1(5).Text) 
   A6 = Val(Text1(6).Text)  
   A7 = Val(Text1(7).Text)  
   A8 = Val(Text1(8).Text)  
   A9 = Text1(9).Text  
   A10 = Text1(10).Text  
   A11 = Val(Text1(11).Text)  
   A12 = Val(Text1(12).Text)  
   A13 = Val(Text1(13).Text)  
   A14 = Val(Text1(14).Text)  
   A15 = Val(Text1(15).Text)  
   A16 = Val(Text1(16).Text)  
   A17 = Val(Text1(17).Text)  
   A18 = Text1(18).Text 
   A19 = Text1(19).Text 
   A20 = Val(Text1(20).Text) 
   A21 = Val(Text1(21).Text) 
   A22 = Val(Text1(22).Text) 
   A23 = Val(Text1(23).Text) 
   A24 = Val(Text1(24).Text) 
   A25 = Val(Text1(25).Text) 
   A26 = Text1(26).Text 
   A27 = Text1(27).Text 
   A28 = Text1(28).Text[/quote]可以这样写:
dim a(28)as single
for i=0 to 28
    a(i)=val(text1(i)
next i
至于你说的问题,我就不知道了
还有低下的
addUserRec.Fields("合同号") = A0 
……
addUserRec.Fields("柱截面积") = A20 
一样可以简化的。

板凳

谢谢楼上的指导啊,我改了,.
那位知道错误的帮忙指点一下.谢谢![em1][em1]

3 楼

addUserRec.UpdateBatch
我看只是添加了一条记录,哪里有多条。

4 楼

确实是每次只增加一条记录,但是如果把这句
addUserRec.UpdateBatch
改成
addUserRec.Update
提示错误是没有了,但是数据库里没有增加任何的新记录啊?

我原来用ACCESS的数据库就是用的addUserRec.UpdateBatch
很正常,换成SQL就这样了,其他的查询,删除,修改都没问题?郁闷。。。。。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册