[英]Insert records into a table from more than pc at same time
我想同時從多台電腦插入 sql 服務器和 vb.net 的同一張表中。
錯誤:
同時插入數據時發生沖突
Try
Dim com As New SqlCommand()
com.CommandType = CommandType.StoredProcedure
com.CommandText = "insertooks"
com.Parameters.AddWithValue("@MULTIINSERT_CODE", SqlDbType.NVarChar).Value = TextBox1.Text
com.Parameters.AddWithValue("@MULTIINSERT_NAME", SqlDbType.NVarChar).Value = TextBox2.Text
com.Parameters.AddWithValue("@MULTIINSERT_DATE ", SqlDbType.Date).Value = DateTimePicker1.Value
com.Connection = con
con.Open()
com.ExecuteNonQuery()
con.Close()
MsgBox("Record inserted successfully")
Catch ex As Exception
'Throw ex
MsgBox(ex.Message)
Finally
con.Close()
con.Dispose()
End Try
存儲過程:
ALTER PROCEDURE [dbo].[insertooks]
@MULTIINSERT_CODE NVARCHAR(50) = NULL ,
@MULTIINSERT_NAME NVARCHAR(50) = NULL ,
@MULTIINSERT_DATE DATETIME = NULL
AS
BEGIN
SET NOCOUNT ON
INSERT INTO MULTIINSERT_TB
(
MULTIINSERT_CODE,
MULTIINSERT_NAME,
MULTIINSERT_DATE
)
VALUES
(
@MULTIINSERT_CODE ,
@MULTIINSERT_NAME ,
@MULTIINSERT_DATE
)
END
您的連接 object 需要在使用它的方法中Using
聲明,以便可以關閉和處理它。
使用Using...End Using
塊來確保您的數據庫對象已關閉和處置。 注意Using
末尾的逗號; 這包括Using
中的命令。
將連接字符串直接傳遞給連接的構造函數。 同樣,將CommandText
和連接直接傳遞給命令的構造函數。
這應該是.Add
方法,它將SqlDbType
作為第二個參數。 .AddWithValue
方法(不應與 Sql 服務器一起使用)將該值作為第二個參數。
連接打開時切勿顯示消息框。 用戶可能已經去吃午飯了,而你的開放連接就在那里。 實際上,它最終會超時,但你明白了。
我希望 MULTIINSERT_TB 的主鍵是一個身份字段(自動編號),並且您沒有為它傳遞值。
Private ConStr As String = "Your connection string"
Private Sub OpCode()
Try
Using con As New SqlConnection(ConStr),
com As New SqlCommand("insertooks", con)
com.CommandType = CommandType.StoredProcedure
com.Parameters.Add("@MULTIINSERT_CODE", SqlDbType.NVarChar).Value = TextBox1.Text
com.Parameters.Add("@MULTIINSERT_NAME", SqlDbType.NVarChar).Value = TextBox2.Text
com.Parameters.Add("@MULTIINSERT_DATE ", SqlDbType.Date).Value = DateTimePicker1.Value
con.Open()
com.ExecuteNonQuery()
End Using 'closes and disposes con and com
MsgBox("Record inserted successfully")
Catch ex As Exception
'Throw ex
MsgBox(ex.Message)
End Try
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.