用VB Script 开发 SQL SERVER时的怪事
高手看看我的程序总是出在哪?
<%
set conn=Server.CreateObject("ADODB.connection")
conn.Open "driver={SQL Server};server=p6;uid=sa;pwd=;database=pubs"
sql="SELECT * FROM tbl1 WHERE UID IN("
sql=sql&"SELECT UID FROM tbl2 WHERE SerialNum='"&Request("SerialNum")&"')"
Set Save_Rs=conn.Execute(sql)
'插入数据
Set cmdTemp=Server.CreateObject("ADODB.Command")
Set InsertCursor=Server.CreateObject("ADODB.Recordset")
'使用对象
cmdTemp.CommandText="SELECT * FROM tbl3 WHERE (UID IS NULL)"
cmdTemp.CommandType=1
Set cmdTemp.ActiveConnection=conn
InsertCursor.Open cmdTemp,,1,3
InsertCursor.AddNew
Response.Write Save_Rs("UID")
InsertCursor("UID")=Save_Rs("UID")
Response.Write Save_Rs("Email")
InsertCursor("Email")=Save_Rs("Email")
%>
错误现象为:UID字段正确执行了插入动作,到Email则出现了错误:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
如果换成InsertCursor("Email")=Save_Rs("UID")又正常。
而用Response.Write Save_Rs("UID"),Response.Write Save_Rs("Email")
验证,都有正确的结果。
毛病出在哪?