У меня здесь странный ..
Я создаю набор записей, используя Classic 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 # работает, я использую его и другие места в приложении.