夜间飞机起飞图片:请帮忙看看ASP 中的SQL语法这样对不对?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 13:04:47
dim sqlstr,rs1, sqlstr2,rs2
sqlstr="select * from CallNoUser"
sqlstr2="select * from sheet1"

set Rs1=Server.createobject("ADODB.RECORDSET")
Rs1.open Sqlstr,conn,1,3
Set Rs2=Server.createobject("ADODB.RECORDSET")
Rs2.open Sqlstr2,conn,1,3
sql="update CallNoUser set Rs1("username")=Rs2("username") where Rs1("CallingPhoneNo")=Rs2("CallingPhoneNo")" conn.execute(sqlstr1)

修正后,请试试:

dim sqlstr,rs1, sqlstr2,rs2
sqlstr="select * from CallNoUser"
sqlstr2="select * from sheet1"

set Rs1=Server.createobject("ADODB.RECORDSET")
Rs1.open Sqlstr,conn,1,3
Set Rs2=Server.createobject("ADODB.RECORDSET")
Rs2.open Sqlstr2,conn,1,3

If Not Rs2.Eof Or Not Rs2.Bof Then
For i=1 To Rs2.RecordCount
sql="update CallNoUser set username='"&Rs2("username")&"' where CallingPhoneNo='"&Rs2("CallingPhoneNo")&"'"
conn.execute(sql)
Rs.MoveNext
If Rs2.Eof Or Rs2.Bof Then
Exit For
End If
Next
End If

正确

严重的不对
sql="update CallNoUser set Rs1("username")=Rs2("username") where Rs1("CallingPhoneNo")=Rs2("CallingPhoneNo")"
conn.execute(sqlstr1)
双引号里不能有双引号
而且这样写也没有效率
最好用一句联合查询来得到你要找的结果

问题的根本在于你这样打开的时候rs指针只是读的第一行数据
你可以用循环语句执行
rs2在循环里面,update也在循环里面

或者是使用联合查询