Заполните DataGridView из хранимой процедуры - PullRequest
0 голосов
/ 18 декабря 2009

Используя 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 имеет правильное количество строк и столбцов. , Его просто не показывают на сетке данных.

Создание другого адаптера таблицы в наборе данных и возврат данных из таблицы базы данных с использованием стандартного выбора команды * из таблицы в подробном виде данных.

У кого-нибудь есть предложения?

Спасибо

Ответы [ 3 ]

3 голосов
/ 22 декабря 2009

Мне удалось начать это сейчас. Ниже то, что я сделал. Спасибо всем за вашу помощь. Это подтолкнуло меня в правильном направлении.

Dim strCon As String = myConnectionString
Dim strSQL As String = "dbo.MyStoreProc"
Dim dataAdapter As New SqlClient.SqlDataAdapter(strSQL, strCon)
Dim table As New DataTable
dataAdapter.Fill(table)
DataGridView1.DataSource = table
1 голос
/ 18 декабря 2009

try DataGridView2.DataBind (); в конце

0 голосов
/ 18 декабря 2009

Кажется, есть множество доступных ресурсов о том, как это сделать. Лучший источник будет: http://www.asp.net/learn/data-access/ -

В противном случае старый добрый поиск также дает много .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...