asp的recordset对象关闭Rec3.Close对象关闭时,不允许操作
我这里错误是:
错误代码:Rec3.Close
错误描述:对象关闭时,不允许操作。
Visual Basic code?<% dim ConnString,Conn ConnString="Driver={SQL Server};Server=(Local);UID=sa;PWD=;Database=web;" Set Conn = Server.CreateObject("ADODB.Connection") Conn.open ConnString dim sqlUpdateMessage,msg,Rec3 msg="你你你" sqlUpdateMessage="update MessageBoard set message='"&msg&"' where emID='1111'" Set Rec3 = Server.CreateObject("ADODB.Recordset") Rec3.Open sqlUpdateMessage,Conn,1,3 Rec3.Close '这一行出问题,但是我查看表,msg的确写进表里了 Set Rec3=nothing %>
请问哪错了?该怎么改?
这样改一下就可以了,这一个更新语句,没有返回Recordset。
Visual Basic code?<% dim ConnString,Conn ConnString="Driver={SQL Server};Server=(Local);UID=sa;PWD=;Database=web;" Set Conn = Server.CreateObject("ADODB.Connection") Conn.open ConnString dim sqlUpdateMessage,msg,Rec3 msg="你你你" sqlUpdateMessage="update MessageBoard set message='"&msg&"' where emID='1111'" Conn.execute sqlUpdateMessage Conn.close set Conn=nothing %>
UPDATE语句是没有返回记录的,不需要用RecordSet记录集。
如果用记录集的话,用SELECT语句,然后用rs.Update去更新记录。
...
rs.CursorLoction = 3
rs.Open "SElECT message FROM MessageBoard WHERE emID='1111'", Conn, 1, 3
If Not (rs.EOF AND rs.BOF) Then
rs("message") = msg
rs.Update
End If
If rs.State <> 0 Then rs.Close
Set rs = Nothing