我試圖從3個列表框中將所有數據插入到數據庫中的表中我不知道我是否做得很好這是我用將多個列表框中的所有數據插入到數據庫中的表中C#
private void Order()
{
using (SqlConnection connection = new SqlConnection(connectionString1))
{
String query = "INSERT INTO Tbl_order (OrderName,Quantity,Price,Serves_way,Date) VALUES (@OrderName,@Quantity, @Price,'"+servers+"','" + time1.ToString(format1)+"')";
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
for (int i = 0; i < lst_OrderName.Items.Count; i++)
{
string OrderName = lst_OrderName.GetItemText(lst_OrderName.GetSelected(i));
command.Parameters.AddWithValue("@OrderName", lst_OrderName.GetItemText(lst_OrderName.GetSelected(i)));
command.Parameters.AddWithValue("@Quantity", lst_QTY.GetItemText(lst_QTY.GetSelected(i)));
command.Parameters.AddWithValue("@Price", lst_Price2.GetItemText(lst_Price2.GetSelected(i)));
command.Parameters.Add("@OrderName", SqlDbType.NVarChar);
command.Parameters.Add("@Quantity", SqlDbType.Int);
command.Parameters.Add("@Price", SqlDbType.Money);
command.Parameters.Add("@OrderName", SqlDbType.NVarChar).Value = OrderName;
command.Parameters.Add("@Quantity", SqlDbType.Int).Value = Convert.ToInt32(lst_QTY.GetSelected(i));
command.Parameters.Add("@Price", SqlDbType.Money).Value = Convert.ToDouble(lst_Price2.GetSelected(i));
}
// command.Parameters.AddWithValue("@OrderName", lst_OrderName.GetItemText(lst_OrderName.SelectedItem));
//command.Parameters.AddWithValue("@Quantity", lst_QTY.GetItemText(lst_QTY.SelectedItem));
//command.Parameters.AddWithValue("@Price", lst_Price2.GetItemText(lst_Price2.SelectedItem));
int result = command.ExecuteNonQuery();
// Check Error
if (result < 0)
Console.WriteLine("Error inserting data into Database!");
}
}
}
的代碼和我有一個問題說
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll
Additional information: The variable name '@OrderName' has already been declared. Variable names must be unique within a query batch or stored procedure.
這三個列表框的PIC [![在這裏輸入的形象描述] [1] ] [1]
代碼wha有什麼問題我錯過了嗎?
我想要數據插入數據庫中的每一行,就像它在圖片中的樣子。
在這一點上,問題正在從最初提出和回答的問題發生顯着變化。原來的問題已經解決了。這個新問題看起來應該是一個新問題。在這個問題中,具體確定您在調試器中看到的分配給參數的值,並注意觀察問題的位置。 – David
非常感謝你,對不起^^。 –