我有一个ASP脚本要插入到SQL数据库中,其中每个条目的值需要增加一个。(这是给游戏中的氏族的。)
有一个列IDX,它是对氏族本身的引用,添加的每个成员都会增加MIDX。
现在在ASPX中,我通过查找MAX(IDX/MIDX)值然后执行MIDX
,让它工作正常,但在asp脚本中它不工作——见下文。
dim iMIDX
QUERY = "SELECT MAX(MIDX) FROM UL Where ClanName='" & clName & "'"
RS.Open QUERY, ObjConn, 3, 1
If MIDX > 0 Then
iMIDX = Cint(RS("MIDX").Value)
End If
RS.Close
iMIDX = iMIDX + 1
QUERY = "INSERT INTO UL ([IDX],[MIDX],[userid],[ChName],[ClanName],[ChType]," _
& "[ChLv],[Permi],[JoinDate],[DelActive],[PFlag],[KFlag],[MIconCnt]) " _
& "values('" & IDX & "','" & iMIDX & "','" & clwonUserid & "','" & clwon _
& "','" & clName & "','" & chtype & "','" & chlv & "','0',getdate(),'0','0','0','0')"
RS.Open QUERY, objConn, 3, 1
End If
最佳答案
必须先读取该值,它不会显示为变量。
QUERY = "SELECT MAX(MIDX) FROM UL Where ClanName='" & clName & "'"
RS.Open QUERY, ObjConn, 3, 1
iMIDX = 0
If Not(RS.EOF) Then
iMIDX = Cint(RS(0).Value)
End If
RS.Close
iMIDX = iMIDX + 1
代码的问题是
iMIDX
总是0,因此If条件永远不是真的。即使是这样,您也会得到错误,因为您在记录集中没有任何名为“MIDX”的字段,因为您没有使用alias。幸运的是,您还可以按索引读取字段。