在使用VB在ASP.NET中执行以下代码时,我收到错误“行/列没有数据存在”。
Dim hdnuserid = e.CommandArgument
If e.CommandName = "additem" Then
' First, see if the product is already in the vendor_catalog table
Dim dr, dr2, username
dr = connection.returnsqlresult("SELECT * FROM vendor_users where vendor_id = '" & Request("vendor_id") & "' AND userid = '" & hdnuserid & "'")
If dr.hasrows() Then
dr.read()
Response.Write("<script type=""text/javascript"">alert(""User already assigned to this vendor."");</script>")
Else
dr2 = connection.returnsqlresult("SELECT * FROM users WHERE userid = '" & hdnuserid & "'")
Response.Write(hdnuserid)
If dr2.hasrows() Then
dr2.read()
username = dr("username")
connection.executesql("INSERT INTO vendor_users(userid, vendor_id, username) VALUES('" & hdnuserid & "','" & Request("vendor_id") & "','" & username & "')")
'ScriptManager.RegisterStartupScript(Me, GetType(Page), "itemsadded", "window.opener.__doPostBack('__Page', 'populate_usergrid');window.close();", True)
Else
Response.Write("<script type=""text/javascript"">alert(""User does not exist."");</script>")
End If
dr2.close()
End If
dr.close()
Else
End If
我已经检查过我的表中是否存在列,并且还使用硬编码值直接检查了SQL中的select * from users语句,我看到了我期望的结果。我不知道为什么我会收到这个错误。用户名= dr(“用户名”)行引发错误。
对此的任何帮助都会非常有帮助。
JV
答案 0 :(得分:0)
我认为你有一点错字。变化
username = dr("username")
到
username = dr2("username")
答案 1 :(得分:0)
读者对象不应该是dr2而不是dr吗?由于博士没有任何行,因此无法访问博士(&#34;用户名&#34;)。
username = dr2("username")