在我的Windows應用程序中,我在數據庫中存儲了價格列,其中存儲了產品的值。從數據庫檢索後添加值
在我的winform中,我有一個組合框和列表框。組合框顯示數據庫中的所有項目。當用戶從組合框中選擇產品並單擊添加時,這些產品將被添加到列表框中。
在用戶點擊添加項目的同時,我檢索項目的價格並將其傳遞給添加此值的方法。
但我怎樣才能添加多個值,例如我添加產品1,產品2從組合框到列表框,我想將這些項目的值添加爲550 + 200 = 750並將其顯示到文本框中。
目前我正在這樣做。
要檢索的價格:
public DataSet searchforPrice(string price)
{
DataSet dataSet = new DataSet();
// Create connection object
OleDbConnection oleConn = new OleDbConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT [Price] FROM [Product] WHERE [Product Name] ='" + price + "'";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "Product");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
return dataSet;
}
添加項到列表框,並顯示總價格:
添加產品的價格,其在組合框中被選擇
public int addPrice()
{
DataSet ds = searchforPrice(comboBox2.Text);
int price = Convert.ToInt32(ds.Tables[0].Rows[0]["Price"]);
return price;
}
你的代碼需要一些工作。首先,查看「使用」語句,它將幫助您不需要明確地使用try/finally。您的方法參數被命名爲「price」,但它將根據名爲「Product Name」的數據庫字段進行過濾。您應該重命名該參數。您還想考慮使用參數化查詢來防止任何特殊字符和SQL注入漏洞。您的方法名稱以小寫開頭,C#編碼約定表明方法名稱是PascalCased,與Java的camelCased約定不同。 – 2013-02-17 06:06:02