天天看點

c# mysql 變量,在C#中向資料庫添加多個參數化變量

小編典典

由于您正在使用c#和sql server 2008,是以可以使用表值參數向資料庫中插入多行。這是有關如何執行此操作的簡短說明:

首先,您需要建立一個使用者定義的表類型:

CREATE TYPE MyTableType AS TABLE

(

Col1 int,

Col2 varchar(20)

)

GO

然後,您需要建立一個存儲過程,該存儲過程将接受此表類型作為參數

CREATE PROCEDURE MyProcedure

(

@MyTable dbo.MyTableType READONLY -- NOTE: table valued parameters must be Readonly!

)

AS

INSERT INTO MyTable (Col1, Col2)

SELECT Col1, Col2

FROM @MyTable

GO

最後,從您的C#代碼執行以下存儲過程:

DataTable dt = new DataTable();

dt.Columns.Add("Col1", typeof(int));

dt.Columns.Add("Col2", typeof(string));

// Fill your data table here

using (var con = new SqlConnection("ConnectionString"))

{

using(var cmd = new SqlCommand("MyProcedure", con))

{

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@MyTable", SqlDbType.Structured).Value = dt;

con.Open();

cmd.ExecuteNonQuery();

}

}

2020-05-19