Member 12754823 Ответов: 1

Обновление базы данных с использованием строго типизированного набора данных


Привет, ребята, у меня есть база данных с SQL server 2014. Я сделал хранимую процедуру, которая выбирает несколько полей. А пока все в порядке. он возвращает datatable, который я связываю с моим datagridview. Проблема заключается в том, что я хочу обновить этот datatable. Я сделал другую хранимую процедуру для обновления. (Мое обновление отлично работает в sql server). По некоторым причинам, когда я делаю обновление из visual basic, он обновил мой набор данных, но не мою базу данных! По какой-то причине x, похоже, он не подключается к базе данных.

Я знаю, что могу использовать sqlconnection.open () и sqlconnection.close (), но я работаю с "отключенным Ado.net-значит, когда я вызываю команду "updatecommand", она должна подключаться непосредственно к базе данных! Но этого не случилось! Что я делаю не так?

Ps: извините за мой плохой английский.

Вот часть моего кода:

Что я уже пробовал:

'Initialize my command
command.CommandType = CommandType.StoredProcedure

command.CommandText = "dbo.update"


command.Parameters.Add(New SqlParameter("@idInventory", SqlDbType.Int, 1, table.Columns(0).Caption))



command.Parameters.Add(New SqlParameter("@idProduct", SqlDbType.Int, 1,    table.Columns(1).Caption))


command.Parameters.Add(New SqlParameter("@code", SqlDbType.NVarChar))
command.Parameters("@code").SourceColumn = "code"

command.Connection = adaptater.Connection
Try
    adaptater.Adapter.UpdateCommand = command
Catch ex As Exception
    MsgBox(ex.Message)
End Try

1 Ответов

Рейтинг:
1

Richard Deeming

Цитата:

команда.Соединение = адаптатер.Соединение
Попробуй
    адаптатер.Адаптер.UpdateCommand = команда
Поймать ex как исключение
    MsgBox(например, сообщение)
Конец Попытки

Ну, вот в чем твоя проблема. Вы назначили команду адаптеру UpdateCommand свойство, но вы никогда не говорили адаптеру ничего обновлять!

Вам нужно позвонить в адаптер Update метод, проходящий в DataSet что вы хотите обновить. Возможно, Вам также потребуется инициализировать адаптер. InsertCommand и DeleteCommand свойства, в зависимости от того, разрешаете ли вы пользователю создавать новые строки и удалять существующие.

Обновление источников данных с помощью адаптеров данных[^]