Я заполняю gridview данными и вставляю запись 1 на 1 в таблицу sql, используя хранимую процедуру, которая имеет только оператор вставки.
Это нормально, но когда количество записей исчисляется миллионами, это занимает значительное время. Я хочу вставить скорость в таблицу и это не займет много времени.
Try
con.ConnectionString = v_ObjConn
Dim ParamName(8), ParamType(8), ParamValue(8) As String
ParamName(0) = "@WOCODE" : ParamType(0) = SqlDbType.VarChar
ParamName(1) = "@WODESC" : ParamType(1) = SqlDbType.VarChar
ParamName(2) = "@WOTYPE" : ParamType(2) = SqlDbType.VarChar
ParamName(3) = "@TAGNUMBER" : ParamType(3) = SqlDbType.VarChar
ParamName(4) = "@PMCODE" : ParamType(4) = SqlDbType.VarChar
ParamName(5) = "@STATUS" : ParamType(5) = SqlDbType.VarChar
ParamName(6) = "@COMPLETEDDATE" : ParamType(6) = SqlDbType.Date
ParamName(7) = "@LASTUPDATE" : ParamType(7) = SqlDbType.Date
lblWaitingMsg.Text = "Importing records into the VAIL-Plant. Please wait..."
For Each row As GridViewRow In gv_InforWO.Rows
Dim chkBoxSelect As CheckBox = CType(row.FindControl("chkSelect"), CheckBox)
If chkBoxSelect.Checked = True Then
ParamValue(0) = row.Cells(1).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(1) = row.Cells(2).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(2) = row.Cells(3).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(3) = row.Cells(4).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(4) = row.Cells(5).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(5) = row.Cells(6).Text.ToString().Replace("&", "and").Replace(" ", String.Empty)
ParamValue(6) = Convert.ToDateTime(row.Cells(7).Text)
ParamValue(7) = Convert.ToDateTime(row.Cells(8).Text)
Func.SP_ExecDML(con, "[dbo].[SP_InsertWorkOrders_InforEAM]", ParamName, ParamType, ParamValue)
End If
Next
MsgBox("Records have been imported/updated.")
BindGridInfoWO()
Catch ex As Exception
MsgBox(ex.Message)
Finally
lblWaitingMsg.Text = ""
End Try