चूंकि आप 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();
}
}