#vb.net #sql-server-2008 #ado.net
#vb.net #sql-server-2008 #ado.net
Вопрос:
Я столкнулся с проблемой отображения результата моего запроса «выбрать *» в форме. Вот мой код:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
myconnection = New SqlConnection("server=PARTH-PCSQLEXPRESS;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" amp; ra)
myconnection.Close()
End Sub
Но когда я пишу этот код и запускаю свою форму, я не могу видеть, что какие-либо записи, присутствующие в таблицах моей базы данных, отображаются в моей форме. Я вставил DataGridView в свою форму. Какие изменения я должен внести в свой код? Кто-нибудь может мне помочь?
Заранее спасибо
Ответ №1:
Когда вы работаете с адаптером данных, вам необходимо вызвать Fill()
метод для его заполнения DataSet/DataTable
. После инициализации DataSet
выполните этот вызов:
mySqlDataAdapter.Fill(mydsStudent)
Кроме того, завершите свой 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
Комментарии:
1. привет, большое спасибо.. Я попробовал ur code… Я вставил mySQlDataAdapter. Заполните (mydsstudent) после строки «Затемнить mystudent как новый набор данных ()», а также удалили строку executenonquery() .. по-прежнему ничего не отображается в форме при запуске приложения
2. Я получаю сообщение об ошибке «MyAdapter не объявлен» .. как удалить эту ошибку?