Используя SQL Server 2008, я создал хранимую процедуру MyStoreProc, и она прекрасно работает из средств управления.
В VB.Net 2008 я создал новый набор данных и новый TableAdaptor. В этом табличном адаптере я создал новый запрос с именем FillByGrid и выбрал хранимую процедуру. Предварительный просмотр данных и предварительный просмотр правильно.
В форме я создал DataGridView и выбрал Адаптер таблицы из набора данных.
Я запустил приложение, и данные не отображаются. Visual Studio автоматически создал приведенный ниже код, и я изменил его, чтобы выбрать только что созданный запрос:
Me.MyTableAdapter.FillByGrid(Me.MyDataset.MyTableAdaptor)
В таблице нет данных, поэтому я попробовал ручной подход:
' Create the dataset
Dim da As New SqlDataAdapter, ds As New DataSet
Dim conn As New SqlConnection
conn.ConnectionString = opsData.DBConn.ConnectionString
da.SelectCommand = New SqlCommand
da.SelectCommand.Connection = conn
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "dbo.MyStoreProc"
da.Fill(ds, "tbl1")
DataGridView2.DataSource = ds.Tables("tbl1")
Данные пока не отображаются. Однако, переходя через I, я вижу, что соединение открыто, и "da.Fill (ds," tbl1 ")" занимает немного времени, так как он выполняет хранимую процедуру, а таблица ds имеет правильное количество строк и столбцов. , Его просто не показывают на сетке данных.
Создание другого адаптера таблицы в наборе данных и возврат данных из таблицы базы данных с использованием стандартного выбора команды * из таблицы в подробном виде данных.
У кого-нибудь есть предложения?
Спасибо