Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить DataSet / 12 сообщений из 12, страница 1 из 1
05.05.2004, 12:41
    #32507260
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Доброго всем времени суток, с прошедшими всех и наступающими !

Люди, подскажите как заполнить DataSet данными хранимой процедуры SQL c параметрами.

Заранее благодарен.
...
Рейтинг: 0 / 0
05.05.2004, 12:53
    #32507293
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
а процедура?
вот пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
       Dim ocnn As New OleDb.OleDbConnection(строка подключения)
        Dim ocmdSD As New OleDb.OleDbCommand("spSelectVeksVyb", ocnn)
        Dim adpSD As New OleDb.OleDbDataAdapter
        Dim dsSD As New Data.DataSet
        Dim iBal As Integer =  0 
        Try
            ocmdSD.CommandType = CommandType.StoredProcedure
            ocmdSD.Parameters.Add("@paramBal", iBal)
            ocnn.Open()
            adpSD.SelectCommand = ocmdSD
            adpSD.Fill(dsSD)
        Catch ex As Exception
            MessageBox.Show("Ошибка: " & ex.Message)
        End Try
либо через exec
Код: plaintext
1.
            adpVal = New OleDb.OleDbDataAdapter("exec spVal", ocnn)
            adpVal.Fill(dsNewSD, "val")
...
Рейтинг: 0 / 0
05.05.2004, 16:25
    #32507702
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Спасибо, но непонятно следующее:
в коде форме автоматом генерится код при добавлении адаптера, датасета и т.п. Этот код напоминает код первого варианта примера. Что делать с этим автоматически сгенерённым кодом - править его ? заменить на предложенный ? написать код примера дополнительно ?
...
Рейтинг: 0 / 0
05.05.2004, 16:31
    #32507710
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
так при мастере есть же возможность выбрать заполнение из ХП
на вкладке Query Type выбирай Stored procedures ...
...
Рейтинг: 0 / 0
05.05.2004, 20:29
    #32508167
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Править не рекомендуется, а изучить для начала можно.
Чтобы потом все сделать по своему :-)
...
Рейтинг: 0 / 0
06.05.2004, 09:25
    #32508454
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
2 Артист.
Млин, отвалился вчера интернет.
Да я так и сделал, только не знаю как из кода формы запихать в эту процедуру значение параметра. При попытке Fill, пишет ошибку, что не введен параметр, а где его вводить я не знаю. Ну объясните, а .....

2 Sa

Значит потом по своему всё-таки можно ? Т.е. этот код не "священная корова" ?
...
Рейтинг: 0 / 0
06.05.2004, 09:37
    #32508470
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
в моём примере выше есть же параметр
Код: plaintext
1.
Dim iBal As Integer =  0           
ocmdSD.Parameters.Add("@paramBal", iBal)
iBal=0 это и есть значение парметра, @paramBal имя параметра в ХП
или с формы с комбобокса беру параметр
Код: plaintext
.Parameters.Add("@idprodaval", Me.cbProdavl.SelectedValue)
с техтбокса
Код: plaintext
.Parameters.Add("@ndogovor", Me.tbNdogovor.Text)

а то что мастер натворил конечно правь - он же предназначен для того,
чтобы облегчить труд программиста, и для того чтобы научится,
во многих случаях лучше поглядеть на логику которую он наваял и
ручками сделать то что тебе нужно ...
...
Рейтинг: 0 / 0
06.05.2004, 09:56
    #32508498
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
>Значит потом по своему всё-таки можно ? Т.е. этот код не "священная корова" ?

Совсем не священная. В сети и в книгах кстати много критики как раз именно по коду который генерируется автоматически. Но на первый раз и для изучения ADO.NET вполне достаточно. Надеемся в следующей версии все изменится.

А править его вручную все таки не рекомендуется о чем нас честно предупреждают:

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
...
Рейтинг: 0 / 0
06.05.2004, 10:09
    #32508518
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
логику обновления сложных данных я иногда там генерю и копирую, малясь подправляя :)
да и null когда - я честно копирую код мастера :)
sposad помни ещё, что переписав объекты написанные мастером, при изменении
объекта dataadapter все твои изменения похерятся ...
...
Рейтинг: 0 / 0
06.05.2004, 11:22
    #32508691
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Спасибо родные.
Щас доберусь до чемодана, где стоит Visual Studio, попробую, и если не получится, то уж не сочтите за наглость - обращусь ещё.
...
Рейтинг: 0 / 0
06.05.2004, 14:24
    #32509186
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Уря-я-я-я

Подправил "корову" и всё получилось.

Только что ещё за параметр в коде мастера - @Return_value, чего он ретурнит-то ?
...
Рейтинг: 0 / 0
06.05.2004, 14:28
    #32509196
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполнить DataSet
Что за хочешь то и будет возвращать, например количество обработанных записей

Код: plaintext
1.
2.
3.
4.
5.
CREATE PROC TEST
AS
 --... ... ... 
 
RETURN @@ROWCOUNT
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить DataSet / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]