У меня есть DataGridView с 5 столбцами, все настройки в конструкторе форм. У меня также есть хранимая процедура, которая будет SELECT
5 столбцов и данных, необходимых на основе параметров. Я хочу, чтобы эти данные были обновляемыми; пользователь может добавлять строки, удалять строки и обновлять существующие строки.
До сих пор мне удалось заполнить DataGridView данными из хранимой процедуры на SQL сервере, но, к сожалению, это только для чтения и любые изменения сделанные после загрузки данные доступны только во внешнем приложении.
Я делал это много раз в MS Access, и я считаю, что DataSet
должен быть «привязан» к DataGridView, а не подан как DataSource
для того, чтобы DataGridView мог обновляться непосредственно к таблице данных на SQL Сервере, но я не уверен, как этого добиться. Я просмотрел в Интернете очень много источников и не могу понять, что мне нужно сделать, чтобы заставить это работать.
Существующий код:
Public Sub loadDataGridView(taskID As Integer)
Dim db As New SqlConnection(getCredentials)
Dim sp As SqlCommand = db.CreateCommand
Dim sa As SqlDataAdapter = New SqlDataAdapter(sp)
Dim ds As DataSet = New DataSet()
Dim x As Integer = 0
db.Open()
With sp
.CommandText = "StoredProcedureName"
.CommandType = CommandType.StoredProcedure
.Parameters.Add(New SqlParameter("@taskID", taskID))
End With
sa.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
db.Close()
End Sub