я не проверял, но думаю, что это сработает.
Всякий раз, когда в DataGridView выбрана строка, извлекайте из нее значение столбца первичного ключа. И давайте предположим, что 1-й столбец является столбцом первичного ключа и имеет целочисленный тип.
Я поместил код в событие CellClick. Вы можете использовать событие CellContentClick, но я считаю CellClick более надежным. Убедитесь, что для свойства MultiSelect элемента DataGridView установлено значение false.
Dim value as Integer
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Try
value = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Catch ex As Exception
End Try
End Sub
Теперь в событии нажатия кнопки. Создайте группу запросов, как показано ниже.
INSERT INTO tbl_shifts (col1, col2,col3,col4)
SELECT col1,col2,col3,col4
FROM tbl_requested_shifts
WHERE col1 =value;
DELETE FROM tbl_requested_shifts
WHERE col1=value;
Попытайся. Спасибо.
ДОПОЛНИТЕЛЬНО
objCommand = New SqlCommand
objCommand.CommandText = "INSERT INTO tbl_shifts (col1, col2,col3,col4) " & _
"SELECT col1,col2,col3,col4 " & _
"FROM tbl_requested_shifts " & _
"WHERE col1 =" & value & ";" & _
"DELETE FROM tbl_requested_shifts " & _
"WHERE col1=" & value & ";"
Try
<your sql connection object>.Open()
command.Connection = <your sql connection object>
command.ExecuteNonQuery()
<your sql connection object>.Close()
Catch ex As Exception
MsgBox(ex.Message)
<your sql connection object>.Close()
End Try
Приведенный выше оператор T-SQL добавит строку в одну таблицу и удалит строку из другой таблицы. И убедитесь, что вы перезагрузили представление datagridview после выполнения этого кода. Спасибо.
person
Topman
schedule
30.04.2015
INSERT INTO tbl_shifts (col1, col2, col3) select col1, col2, col3 FROM tbl_requested_shifts- person cjb110   schedule 30.04.2015