我有一个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。幸运的是,您还可以按索引读取字段。

10-07 14:01