在VB表单上显示SQL查询结果

Par*_*shi 2 vb.net ado.net sql-server-2008

我在表单上显示我的"select*"查询结果时遇到问题.这是我的代码:

           Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As     System.EventArgs) Handles Button2.Click

    myconnection = New SqlConnection("server=PARTH-PC\SQLEXPRESS;uid=sa;pwd=parth;database=college")

    myconnection.Open()
    mycommand = New SqlCommand("SELECT * from [demo3]",myconnection)
    Dim mySqlDataAdapter As New SqlDataAdapter(mycommand)
    Dim mydsStudent As New DataSet()

    DataGridView2.DataSource = mydsStudent
    Me.Controls.Add(DataGridView2)
    ra = mycommand.ExecuteNonQuery()
    MessageBox.Show("Data displayed" & ra)

    myconnection.Close()
End Sub
Run Code Online (Sandbox Code Playgroud)

但是当我编写此代码并运行我的表单时,我无法看到我的表单上显示的数据库表中存在任何记录.我在表单上插入了一个DataGridView.我应该对我的代码做些什么改变?谁能帮我 ?

提前致谢

小智 7

当您使用DataAdapter时,您需要调用Fill()它的方法来填充a DataSet/DataTable.初始化后DataSet,拨打此电话:

mySqlDataAdapter.Fill(mydsStudent)
Run Code Online (Sandbox Code Playgroud)

还有,拿出你的ExecuteNonQuery()电话.

编辑:尝试这样的事情.

Dim myconn As New SqlConnection(yourConnectionStringHere)
Dim myTable As New DataTable()
Dim myCmd As New SqlCommand()
myCmd.Connection = myconn
myCmd.CommandText = "select * from demo3"

Dim myAdapater As New SqlDataAdapter(myCmd)
myAdapter.Fill(myTable)

DataGridView2.DataSource = myTable
Run Code Online (Sandbox Code Playgroud)