2017-09-15 100 views
3

我想將列表框中的所有數據移動到我正在使用C#SQLVisual Studio 2015的數據庫中的表格,並試過做它,但不正常工作,這是我用來從列表框中插入數據的代碼。我需要你的幫助將列表框中的所有數據移動到數據庫中的表格

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(); 

      command.Parameters.AddWithValue("@OrderName", lst_OrderName.Items.Add("@OrderName")); 
      command.Parameters.AddWithValue("@Quantity", lst_QTY.Items.Add("@Quantity")); 
      command.Parameters.AddWithValue("@Price", lst_Price2.Items.Add("@Price")); 

      int result = command.ExecuteNonQuery(); 

      // Check Error 
      if (result < 0) 
       Console.WriteLine("Error inserting data into Database!"); 
     } 
    } 
} 

插入的數據不會在lst_OrderName或同一對象lst_QTY和lst_Price2數量。這裏數據庫中的表格 enter image description here

如何從列表框中插入帶有值的所有數據到數據庫?

回答

2

看起來像你想要使用ListBox.SelectedItem屬性。 ListBox.Items.Add()將新項目添加到您的ListBox項目集合並返回其索引。所以,你在這裏做的是將字符串「@OrderName」添加到lst_OrderName,並說它已經有10個項目,你將值10分配給SQL參數。相反,您希望獲得像...AddWithValue("@OrderName", lst_OrderName.SelectedItem)這樣的值,或者如果只需要字符串值,請使用...AddWithValue("@OrderName", lst_OrderName.GetItemText(lst_OrderName.SelectedItem)

+0

非常感謝你的工作^^。但是,無論如何,要將列表框中列出的所有數據都插入表中嗎?這種方式我需要選擇它插入。 –

+0

我的例子假設你只需要從每個ListBox中選擇一個項目,因爲你應該如何處理多個選定項目的邏輯取決於你的特定需求。你總是可以遍歷每個ListBox的foreach(在lst_OrderName.SelectedItems中的對象obj){/ *做某事* /}'。 – zambonee

+0

好的,非常感謝,我一直在嘗試2天^^「這將幫助我很多再次感謝。 –

相關問題