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

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

Заранее благодарен.
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32507293
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а процедура?
вот пример:
Код: 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
Заполнить DataSet
    #32507702
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но непонятно следующее:
в коде форме автоматом генерится код при добавлении адаптера, датасета и т.п. Этот код напоминает код первого варианта примера. Что делать с этим автоматически сгенерённым кодом - править его ? заменить на предложенный ? написать код примера дополнительно ?
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32507710
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так при мастере есть же возможность выбрать заполнение из ХП
на вкладке Query Type выбирай Stored procedures ...
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32508167
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Править не рекомендуется, а изучить для начала можно.
Чтобы потом все сделать по своему :-)
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32508454
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Артист.
Млин, отвалился вчера интернет.
Да я так и сделал, только не знаю как из кода формы запихать в эту процедуру значение параметра. При попытке Fill, пишет ошибку, что не введен параметр, а где его вводить я не знаю. Ну объясните, а .....

2 Sa

Значит потом по своему всё-таки можно ? Т.е. этот код не "священная корова" ?
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32508470
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в моём примере выше есть же параметр
Код: 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
Заполнить DataSet
    #32508498
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Значит потом по своему всё-таки можно ? Т.е. этот код не "священная корова" ?

Совсем не священная. В сети и в книгах кстати много критики как раз именно по коду который генерируется автоматически. Но на первый раз и для изучения 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
Заполнить DataSet
    #32508518
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логику обновления сложных данных я иногда там генерю и копирую, малясь подправляя :)
да и null когда - я честно копирую код мастера :)
sposad помни ещё, что переписав объекты написанные мастером, при изменении
объекта dataadapter все твои изменения похерятся ...
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32508691
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо родные.
Щас доберусь до чемодана, где стоит Visual Studio, попробую, и если не получится, то уж не сочтите за наглость - обращусь ещё.
...
Рейтинг: 0 / 0
Заполнить DataSet
    #32509186
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уря-я-я-я

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

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

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


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