在我的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