我有一个存储过程:
ALTER PROCEDURE [dbo].[GISQC_UpdAssignUserWork]
-- Add the parameters for the stored procedure here
@user varchar(20),
@ordnum varchar(20)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
UPDATE qc_Orders
SET [userName] = @user
WHERE [Ordnum] = @ordnum
END
@ordnum参数可以有多个值。有没有办法执行sp一次并根据@ordnum参数更新多行?
我的VB代码:
Dim user As String = Me.listUser.SelectedItem.ToString
Dim connstring As String = "Data Source=DVHQSQL01;Initial Catalog=GISQC_ProdCopy;Integrated Security=True"
Dim conn As New SqlConnection(connstring)
conn.Open()
For Each row As DataGridViewRow In Me.gridWork.SelectedRows
'set up SQL command
Dim cmd As New SqlCommand("dbo.GISQC_UpdAssignUserWork", conn)
Dim i As Integer = Me.gridWork.CurrentRow.Index
Dim ordnum As String = Me.gridWork.Item(0, i).ToString
With cmd
.CommandType = CommandType.StoredProcedure
.Connection = conn
.Parameters.AddWithValue("@user", user)
.Parameters.AddWithValue("@ordnum", ordnum)
End With
cmd.ExecuteNonQuery()
MsgBox("Work assigned to user " & user & ".")
Next
答案 0 :(得分:0)
答案:
For Each row As DataGridViewRow In Me.gridWork.SelectedRows
Dim ordnum As String = row.Cells(0).Value.ToString
'set up SQL command
Dim cmd As New SqlCommand("dbo.GISQC_UpdAssignUserWork", conn)
With cmd
.CommandType = CommandType.StoredProcedure
.Connection = conn
.Parameters.AddWithValue("@user", user)
.Parameters.AddWithValue("@ordnum", ordnum)
End With
cmd.ExecuteNonQuery()
MsgBox("Work assigned to user " & user & " ordernum: " & ordnum & ".")
Next
为每个选定的行调用单元格数据允许多个ordnum输入!