行/列没有数据

时间:2015-04-07 16:12:38

标签: asp.net vb.net tsql

在使用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

2 个答案:

答案 0 :(得分:0)

我认为你有一点错字。变化

username = dr("username")

username = dr2("username")

答案 1 :(得分:0)

读者对象不应该是dr2而不是dr吗?由于博士没有任何行,因此无法访问博士(&#34;用户名&#34;)。

username = dr2("username")