我可以在單個語句中插入項目,但我想要做的是使用存儲過程的另一個版本。我怎麼做。這裏是我的代碼:如何使用存儲過程在SQL中插入多行?
private void button1_Click(object sender, EventArgs e)
{
#region Get Values
string[] array = {textBox1.Text+":"+textBox5.Text,textBox2.Text+":"+textBox6.Text,textBox3.Text+":"+textBox7.Text,textBox4.Text+":"+textBox8.Text};
string query = "";
string product = "";
int qty = 0;
for (int i = 0; i < array.Length; i++)
{
product = array[i].ToString().Substring(0,array[i].ToString().IndexOf(':'));
qty = int.Parse(array[i].ToString().Substring(array[i].ToString().IndexOf(':')+1));
if (string.IsNullOrEmpty(query))
{
query = "Insert Into MySampleTable Values ('"+product+"','"+qty+"')";
}
else
{
query += ",('" + product + "','" + qty + "')";
}
}
#endregion
string connect = "Data Source=RANDEL-PC;Initial Catalog=Randel;Integrated Security=True";
SqlConnection connection = new SqlConnection(connect);
connection.Open();
string insert = query;
SqlCommand command = new SqlCommand(query,connection);
command.ExecuteNonQuery();
command.Dispose();
connection.Close();
connection.Dispose();
label5.Visible = true;
label5.Text = insert;
}
}
先生/女士,您的答案會有很大的幫助,非常感謝。謝謝++
有這麼多的事情是錯誤的。我認爲你需要研究很多關於數據訪問層,防止sql注入,企業庫數據塊(如果你願意,可以用你的數據訪問層來幫助你),之後我認爲你可以做到這一點。我可以回答你的問題,但我更願意幫你告訴你要學習的東西。 – 2012-02-11 12:52:48
作爲一個側面提示:您應該爲您的SQL插入使用**參數化查詢** - 您不應該只是將您的SQL語句連接在一起 - 這會打開SQL注入攻擊的大門。 [請參見此處如何執行參數化查詢](http://www.4guysfromrolla.com/webtech/092601-1.shtml) – 2012-02-11 12:53:05