Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从不同的表中选择数据-vb.net_Vb.net - Fatal编程技术网

从不同的表中选择数据-vb.net

从不同的表中选择数据-vb.net,vb.net,Vb.net,我正在尝试从数据库中选择一些数据并将其显示在文本框中。首先,我从realestate.useraccounts中选择数据,然后选择realestate.userprofiles。它在用户帐户上工作,但在用户配置文件上不工作。 ` 您在第二个查询中忘记了dr=cmd.ExecuteReader(),因此您的dr.Read无法在第二个查询中读取 您也可以在使用后关闭阅读器 让我们试试这个: Try con.Open() Dim q1 As String

我正在尝试从数据库中选择一些数据并将其显示在文本框中。首先,我从realestate.useraccounts中选择数据,然后选择realestate.userprofiles。它在用户帐户上工作,但在用户配置文件上不工作。 `


您在第二个查询中忘记了
dr=cmd.ExecuteReader()
,因此您的dr.Read无法在第二个查询中读取

您也可以在使用后关闭阅读器

让我们试试这个:

Try
        con.Open()
        Dim q1 As String
        q1 = "select userid,email from realestate.useraccounts where username='" & frmLogin.txtUsername.Text & "'"
        cmd = New MySqlCommand(q1, con)
        cmd.ExecuteNonQuery()
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            lblUserid.Text = dr("userid")
            txtEmail.Text = dr("email")
        End If
        dr.Close()
        con.Close()
        con.Open()
            Dim q2 As String
            q2 = "select * from realestate.userprofiles where userid = '" & lblUserid.Text & "'"
            cmd = New MySqlCommand(q2, con)
            cmd.ExecuteNonQuery()
            dr = cmd.ExecuteReader
            If dr.HasRows Then
                dr.Read()
                txtFirst.Text = dr("lastname")
                txtLast.Text = dr("firstname")
                txtAddress.Text = dr("address")
            End If
            dr.Close()
        con.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        con.Dispose()
    End Try`

它以什么方式失败?描述问题。为什么要使用两个查询来执行此操作?显然,您是在
userid
上加入这些表的。省去了两次打开连接并将SQL重写为一条语句的麻烦;把你的问题参数化。你对那个伙伴很有眼光。现在开始工作了。非常感谢!
Try
        con.Open()
        Dim q1 As String
        q1 = "select userid,email from realestate.useraccounts where username='" & frmLogin.txtUsername.Text & "'"
        cmd = New MySqlCommand(q1, con)
        cmd.ExecuteNonQuery()
        dr = cmd.ExecuteReader
        If dr.HasRows Then
            dr.Read()
            lblUserid.Text = dr("userid")
            txtEmail.Text = dr("email")
        End If
        dr.Close()
        con.Close()
        con.Open()
            Dim q2 As String
            q2 = "select * from realestate.userprofiles where userid = '" & lblUserid.Text & "'"
            cmd = New MySqlCommand(q2, con)
            cmd.ExecuteNonQuery()
            dr = cmd.ExecuteReader
            If dr.HasRows Then
                dr.Read()
                txtFirst.Text = dr("lastname")
                txtLast.Text = dr("firstname")
                txtAddress.Text = dr("address")
            End If
            dr.Close()
        con.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        con.Dispose()
    End Try`