Asp 判断每条记录插入前,是否有该条记录?菜鸟求助!
时间:2011-12-20
来源:互联网
我的思路:先根据相应条件查询,是否有对应数据,如果没有数据进行插入,否则更新操作。
请问各位高手,单独运行插入和更新都没问题,但合起来代码有些问题,错误在哪里?
for j = 0 to UBound(arrvalue2) '加入循环
conn.execute("select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"") '查询是否有相应数据
if score==0 '进行判断
then
conn.execute("insert into fen(cid,bid,eid,tid,score)values("&arrvalue2(j)&","&arrvalue3(j)&","&arrvalue4(j)&","&arrvalue5(j)&","&arrvalue1(j)&")")
else
conn.execute("update fen set score="&arrvalue1(j)&" where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"")
end if
next
请问各位高手,单独运行插入和更新都没问题,但合起来代码有些问题,错误在哪里?
for j = 0 to UBound(arrvalue2) '加入循环
conn.execute("select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"") '查询是否有相应数据
if score==0 '进行判断
then
conn.execute("insert into fen(cid,bid,eid,tid,score)values("&arrvalue2(j)&","&arrvalue3(j)&","&arrvalue4(j)&","&arrvalue5(j)&","&arrvalue1(j)&")")
else
conn.execute("update fen set score="&arrvalue1(j)&" where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"")
end if
next
作者: giantjian 发布时间: 2011-12-20
for j = 0 to UBound(arrvalue2) '加入循环
set rs=server.CreateObject("adodb.recordset")
rs.open "select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&",conn,1,1"
if rs.recordcount<=0 then
conn.execute("insert into fen(cid,bid,eid,tid,score)values("&arrvalue2(j)&","&arrvalue3(j)&","&arrvalue4(j)&","&arrvalue5(j)&","&arrvalue1(j)&")")
else
conn.execute("update fen set score="&arrvalue1(j)&" where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"")
end if
next
set rs=server.CreateObject("adodb.recordset")
rs.open "select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&",conn,1,1"
if rs.recordcount<=0 then
conn.execute("insert into fen(cid,bid,eid,tid,score)values("&arrvalue2(j)&","&arrvalue3(j)&","&arrvalue4(j)&","&arrvalue5(j)&","&arrvalue1(j)&")")
else
conn.execute("update fen set score="&arrvalue1(j)&" where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"")
end if
next
作者: hefeng_aspnet 发布时间: 2011-12-20
上面sql错了
rs.open "select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"",conn,1,1
rs.open "select score from fen where eid="&arrvalue4(j)&" and cid="&arrvalue2(j)&" and bid="&arrvalue3(j)&"",conn,1,1
作者: hefeng_aspnet 发布时间: 2011-12-20
VBScript code
<% For j = 0 To UBound(arrvalue2) '加入循环 sql = "select * from fen where eid=" & arrvalue4(j)& " and cid=" & arrvalue2(j) & " and bid=" & arrvalue3(j) Set rs = CreateObject("ADODB.RecordSet") rs.CursorLocation = 3 rs.Open sql, conn, 1, 3 If rs.EOF And rs.BOF Then rs.AddNew rs("cid") = arrvalue2(j) rs("bid") = arrvalue3(j) rs("eid") = arrvalue4(j) rs("tid") = arrvalue5(j) rs("score") = arrvalue1(j) Else rs("score") = arrvalue1(j) End If rs.Update rs.Close conn.Close Set rs = Nothing Set conn = Nothing Next %>
作者: hookee 发布时间: 2011-12-20
改一下:
VBScript code
VBScript code
<% For j = 0 To UBound(arrvalue2) '加入循环 sql = "select * from fen where eid=" & arrvalue4(j)& " and cid=" & arrvalue2(j) & " and bid=" & arrvalue3(j) Set rs = CreateObject("ADODB.RecordSet") rs.CursorLocation = 3 rs.Open sql, conn, 1, 3 If rs.EOF And rs.BOF Then rs.AddNew rs("cid") = arrvalue2(j) rs("bid") = arrvalue3(j) rs("eid") = arrvalue4(j) rs("tid") = arrvalue5(j) rs("score") = arrvalue1(j) Else rs("score") = arrvalue1(j) End If rs.Update rs.Close Set rs = Nothing Next conn.Close Set conn = Nothing %>
作者: hookee 发布时间: 2011-12-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28