多步操作产生错误。检查每个状态值

问题描述 投票:0回答:3

我有两个记录集,想要通过另一个记录集的值更新其中一个。我确实喜欢这个

 stSql = "SELECT dbo.tblCableProperty.CatalogCode FROM  dbo.tblCable INNER JOIN " & _
"  dbo.tblCableProperty ON dbo.tblCable.CablePcode = dbo.tblCableProperty.CablePcode" & _
" WHERE dbo.tblCable.prjsubcode=" & prjsubcode & " AND dbo.tblCable.Active=1 " & " And dbo.tblCable.Gtag='" & Gtag & "' And dbo.tblCable.TagNo=" & tagno & " And dbo.tblCable.NTag=" & NTag & " And dbo.tblCable.EndStr='" & EndStr & "'"
rs.Open stSql, cn, adOpenStatic, adLockOptimistic
catalogCode = rs!catalogCode
rs.Close

stSql = "SELECT *,'' as ShowNum FROM viwShowNum WHERE prjsubcode=" & prjsubcode & " AND Active=1 " & " And Gtag='" & Gtag & "' And TagNo=" & tagno & " And NTag=" & NTag & " And EndStr='" & EndStr & "' ORDER BY 8"
rs.Open stSql, cn, adOpenDynamic, adLockOptimistic
rs.MoveFirst

stSql = "Select * from tblCoreCode where CatalogCode=" & catalogCode
Set rsCoreCode = New ADODB.Recordset
rsCoreCode.CursorLocation = adUseClient
rsCoreCode.Open stSql, cn, adOpenStatic, adLockOptimistic

While Not rs.EOF
criteria = "RealNum='" & rs!CoreNo & "'"
rsCoreCode.Filter = criteria

rs!ShowNum = CStr(rsCoreCode!ShowNum)
rsCoreCode.Filter = adFilterNone
rs.MoveNext
Wend

我在这部分遇到以下错误

 rs!ShowNum = CStr(rsCoreCode!ShowNum)

 multiple-step operation generated errors. check each status value

rsCoreCode!ShowNum 是 varchar(5)。我尝试设置值

 rs!ShowNum = "1" 

但我又遇到了同样的错误。 问题出在哪里?

谢谢你

vb6
3个回答
0
投票

正如我的评论中所问,如果

rs.Updatable
rs!ShowNum.DataUpdatable
false
,您可以使用Microsoft的这段代码来检索可更新的
RecordSet


0
投票

我也遇到了同样的问题,问题是我违反了对象属性,在我的例子中,错误的大小是

“IntegrationException:问题(多步操作生成错误。检查每个状态值。)”

Imports ADODB
Dim _RecordSet As Recordset  
_rs.Fields.Append("Field_Name", DataTypeEnum.adVarChar, 50)
_Recordset("Field_Name").Value = _RecordDetails.Field_NameValue

_RecordDetails.Field_NameValue 长度超过 50 个字符,因此违反了此属性,因此发生了错误,因此您可能应该检查是否不匹配其中一个属性


0
投票

设置 R = 新 ADODB.Recordset 设置 R = mySQLCn.Execute("从 SaleMaster 选择 Sum(NetAmountPayable) 作为 totbuss,其中 CustomerID = " & CustomerID & "") CallCustomerwiseNetBusinessAmt = NullNum(R.Fields(0))

上面的代码在使用 MSAccess 作为数据库时运行完美,但在使用 MYSQL 数据库时显示错误。谁能给我一个解决方案吗???

© www.soinside.com 2019 - 2024. All rights reserved.