+ -
当前位置:首页 → 问答吧 → Asp 判断每条记录插入前,是否有该条记录?菜鸟求助!

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

作者: 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

作者: 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

作者: 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

<%
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