我正在尝试使用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
编辑:
我想用IdFicha填充表Fichastablero。它是放置棋盘的筹码..
http://i.stack.imgur.com/bI3nQ.png
http://i.stack.imgur.com/o7qRZ.png
这必须是白色芯片的结果: http://i.stack.imgur.com/SEjmu.png
对不起,这是我第一次使用.asp
的任务答案 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
打个招呼,祝你好运。