ADODB.Recordset错误'800a0cc1'

时间:2018-06-18 16:22:27

标签: mysql asp-classic

我正在尝试使用ASP Classic为我的数据库中的表设置新值。我收到了这个错误:

  

ADODB.Recordset错误'800a0cc1'

     

在与请求对应的集合中找不到项目   名称或序数。

     

/Unirme.asp,línea61(rs3(“IdFichas”)= i)

我不知道为什么会发生这种情况,因为列确实存在于表中,而且我传递给DB的值是一个int。

这是我的ASP代码中出现错误的部分:

    Set rs3 = server.CreateObject("ADODB.RecordSet")

    SQL3 = "SELECT * FROM FichasTablero WHERE 0"    

    con.BeginTrans

    rs2.OPEN SQL2,con,2,3
    rs3.OPEN SQL2,con,2,3
    rs2.AddNew
    rs3.AddNew

    rs2("IdPartida") = IdPartida
    rs2("IdJugador") = IdJugador 
    rs2("Comidas_El") = 0
    rs2("Comidas_A_El") = 0

    dim i
    i = 0
    Response.Write(i & "-")

    For x = 1 To 2
        For y = 1 To 8
            i = i+1
            Response.Write(i & "-")
            rs3("IdPartida") = IdPartida
            rs3("IdFichas") = i
            rs3("IdPosicion") = x&y
            rs3("EstadoInicial") = 1
            rs3.Update
        Next
    Next

    For x = 7 To 8
        For y = 1 To 8
            i = i+1
            Response.Write(i & "-")
            rs3("IdPartida") = IdPartida
            rs3("IdFichas") = i
            rs3("IdPosicion") = x&y
            rs3("EstadoInicial") = 1
            rs3.Update
        Next
    Next    

    rs2.Update

    con.CommitTrans

这个BD

enter image description here

enter image description here

编辑:

我想用IdFicha填充表Fichastablero。它是放置棋盘的筹码.. http://i.stack.imgur.com/bI3nQ.png
http://i.stack.imgur.com/o7qRZ.png

这必须是白色芯片的结果: http://i.stack.imgur.com/SEjmu.png

对不起,这是我第一次使用.asp

的任务

1 个答案:

答案 0 :(得分:0)

在使用SELECT * FROM FichasTablero时,您需要按序号而不是名称来引用字段。这是两个选项:

1:将查询更改为SQL3 = "SELECT IdPartida, IdFichas, IdPosicion, EstadoInicial FROM FichasTablero WHERE 0"

这将使您能够按原样保留字段分配,并使用序数名称进行引用。

2:更改字段分配以使用序数:

For x = 1 To 2
    For y = 1 To 8
        i = i+1
        Response.Write(i & "-")
        rs3(1) = i         'IdFichas
        rs3(2) = IdPartida 'IdPartida
        rs3(3) = x&y       'IdPosicion
        rs3(4) = 1         'EstadoInicial
        rs3.Update
    Next
Next

For x = 7 To 8
    For y = 1 To 8
        i = i+1
        Response.Write(i & "-")
        rs3(1) = i         'IdFichas
        rs3(2) = IdPartida 'IdPartida
        rs3(3) = x&y       'IdPosicion
        rs3(4) = 1         'EstadoInicial
        rs3.Update
    Next
Next   

打个招呼,祝你好运。