【发布时间】:2010-09-30 20:57:13
【问题描述】:
我这里有一个奇怪的..
我使用经典 ASP 创建记录集
Set rs = server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = g_conn
rs.CursorLocation=3 ' adUseClient
rs.LockType= 3 ' adLockBatchOptimistic
on error resume next
rs.Open strQuery
rs.activeConnection = nothing
on error goto 0
一切正常,记录集按预期创建。我现在想用新值更新记录集中的纯文本字段...
do while not rs.eof
for each fld in rs.fields
if ( instr(",129,130,201,202,203,",","+cStr(rtrim(fld.type))+",")>0) then
theStr = g_VBPM.PMDecode(rs(fld.name))
'rs(fld.name).value= ucase(rs(fld.name)) ' works
rs(fld.name).value= trim(theStr) ' does not work
end if
next
rs.movenext
loop
当我用字符串的大写文本替换字段值时,它可以工作。记录集反映了字段内容的大写版本。但是,当我用从 C# DLL 返回的字符串替换它时,没有返回错误消息,但记录集中的字段值没有更改。 C# 代码的返回值包含正确的内容,如果我执行 response.write,我可以看到它。但是,当我尝试将该字符串放入断开连接的记录集中时,它不起作用..根本没有错误
有人见过这种行为吗?有任何想法吗? C# 代码确实有效,我在应用程序的其他地方使用它。
【问题讨论】:
-
呼——终于找到问题了……
-
我会尽快发布答案...
标签: c# asp-classic recordset