![](/img/trans.png)
[英]how to insert data from textbox to access database using where in c#
[英]How to fetch data from access database in a textBox using C#
我有一个数据库,在其中创建了一个表HUGO_BOSS
。 其列为[brand name]
, [stock quantity]
, [retail price]
,其入门代码为[Brand name]
。 我想用数据库中存在的库存数量值填充Windows窗体中的文本框。 我尝试了以下代码,但它给出了运行时错误
连接未关闭,连接状态为打开。
if (comboBox2.Text == "HUGO BOSS")
{
try
{
OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "Select [Stock quantity] as stockquantity from HUGO_BOSS WHERE [Brand name]=@name";
cmd.Parameters.AddWithValue("@name", comboBox3.SelectedItem);
con.Open();
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleResult);
if (dr.Read())
{
textBox7.Text = dr["stockquantity"].ToString();
}
}
finally { con.Close(); }
}
还有一件事,在这里我将通过使用combobox3
选择主键
您似乎正在尝试重用已经打开的数据库连接。
您可以尝试在打开连接之前测试连接状态:
OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "Select [Stock quantity] as stockquantity from HUGO_BOSS WHERE [Brand name]=@name";
cmd.Parameters.AddWithValue("@name", comboBox3.SelectedItem);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleResult);
if (dr.Read())
{
textBox7.Text = dr["stockquantity"].ToString();
}
另外,您可以在每次需要执行新命令时创建一个新连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.