我使用Visual Studio C#并使用Access作为我的数据库。我有两列,ItemCode
和ProductName
。我想在选择项目代码时在其文本框中自动输入productname。我怎样才能做到这一点?
一些代码:
try
{
con.Open();
OleDbCommand command = new OleDbCommand(@"Select * from TblInventory where ItemCode='" + txtItem.Text + "'");
command.Connection = con;
command.Parameters.AddWithValue("itemcode", txtItem.Text);
OleDbDataReader reader = command.ExecuteReader();
if (reader.Read())//Update Item Code is already exist
{
.........
随意编辑我的问题,请善待。谢谢你们
答案 0 :(得分:0)
试试这个。
text_box.Text=reader["ProductName"].ToString();
您通过在ItemCode
子句中指定Where
来过滤行,因此读者将包含与指定代码匹配的相应行。您需要做的是通过指定名称来访问所需的列值,就像上面的代码片段一样。
答案 1 :(得分:0)
为了从数据库中提取数据,我更喜欢使用OleDbDataAdapter
。
你可以简单地使用:
string command = @"Select * from TblInventory where ItemCode='" + txtItem.Text + "'";
OleDbDataAdapter da = new OleDbDataAdapter(command, con);
DataTable dt = new DataTable();
da.Fill(dt);
现在,使用dt
:
if (dt.Rows.Count == 0)
//Error Message
else
cmbTreatyTitle.Text = dt.Rows[0]["ProductName"].ToString();
我希望这有用。