我有一个ASP脚本要插入SQL数据库,其中值MIDX
需要为每个条目递增1。 (这是游戏中的部落。)
有一个列IDX,它是对氏族本身的引用,每个成员都增加了MIDX。
现在在ASPX中我通过查找MAX(IDX / MIDX)值然后执行MIDX = MIDX + 1
来使其正常工作,但它在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
答案 0 :(得分:2)
您必须先读取该值,它不会显示为变量。
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条件永远不会为True。即使它是,你也会得到错误,因为你没有在记录集中有任何名为“MIDX”的字段,因为你没有使用别名。幸运的是,您还可以通过索引阅读该字段。