Vb.net 在WinForms中显示数据表
我正在创建一个显示数据表的Windows窗体。我还希望能够从显示的表中选择一行,并将信息显示在调用它的表单上。我已连接到服务器,但似乎无法填充数据表Vb.net 在WinForms中显示数据表,vb.net,winforms,Vb.net,Winforms,我正在创建一个显示数据表的Windows窗体。我还希望能够从显示的表中选择一行,并将信息显示在调用它的表单上。我已连接到服务器,但似乎无法填充数据表 Dim Students As String = "select * from dbo.[students]" Dim Studentscmd As New SqlCommand(Students, cnn) Dim Studentstable As New DataTable Dim Studentadapter As New SqlDataAd
Dim Students As String = "select * from dbo.[students]"
Dim Studentscmd As New SqlCommand(Students, cnn)
Dim Studentstable As New DataTable
Dim Studentadapter As New SqlDataAdapter
Dim NStudents As DataSet = New DataSet()
Studentadapter.Fill(NStudents)
Datagridview.DataGridView1.DataSource = NStudents
Datagridview.DataGridView1.Show()
试试这个:(正如@DarrenMB提到的,
SqlAdapter
和SqlCommand
之间缺少链接)
“更好的做法”是在处理非托管资源(如数据库)时使用
在
结束使用时
使用创建的所有对象和资源都将被正确处置/释放您的DataAdapter与我可以看到的命令或连接之间没有链接。基本上,您可以定义一个新适配器并向其传递一个空数据集。查看MSDN中的示例,了解如何执行此操作。在FILL命令之前缺少的StudentAdapter.SelectCommand=StudentsCmd
Dim Students As String = "select * from dbo.[students]"
Dim Studentstable As New DataTable()
Using Studentscmd As New SqlCommand(Students, cnn)
Using Studentadapter As New SqlDataAdapter(Studentscmd) 'This link Adapter with command
Studentadapter.Fill(Studentstable) 'Can fill straight to DataTable
End Using
End Using
Datagridview.DataGridView1.DataSource = Studentstable
Datagridview.DataGridView1.Show()