چون در هر بار اجرای SqlCommand شما می توانید فقط یک دستور SQL را اجرا کنید ابتدا آنرا باید به تعدا کل دستور های مورد نیاز تبدیل کنید و سپس هر کدام را به صورت مجزا اجرا کنید .
چه كسي همچين حرفي زده؟؟؟
نمونه هاي زير رو ببينيد
SqlCommand cmd = new SqlCommand(@" Insert Into tbl Values ('Data1', 'Value1', 100,101)
Insert Into tbl Values ('Data2', 'Value2', 102,103)
Insert Into tbl Values ('Data3', 'Value3', 104,105)", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
SqlDataAdapter da = new SqlDataAdapter(@"Declare @temp varchar(max)
Set @Temp = 'Reza Yarahmadi'
Select * From tbl Where Name = @Temp
union all
Select * From tbl
union all
Select * From tbl Where Id > 1
", conn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
هر محدوديتي كه در SQL Server وجود داره اينجا هم وجود داره.
من در sql 2000 از طريق Query Analyzer يك كوئري نوشتم كه ديتابيس و جداولي رو ايجاد ميكنه ، اين دستورات رو در يك فايل ذخيره كردم ، حالا من چه طوري ميتونم از طريق سي شارپ اين فايل رو اجرا كنم ؟
فرقي با بقيه موارد نداره ، با چيزي شبيه كد زير ميتونيد اين كار رو انجام بديد.
string sqlStr = File.ReadAllText("File Path");
SqlCommand cmd = new SqlCommand(sqlStr, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();