【发布时间】:2021-07-04 13:26:00
【问题描述】:
您好,我正在尝试从数据库中搜索产品名称并在我的文本框中显示我,但同时我需要该产品的 id 将其插入到网格中,然后插入到另一个表中。
MySqlConnection connection = new MySqlConnection("connectonString");
string selectQuery = "select descricao,codigo from produtos where (barras = '@barcodes') or(descricao like '%' + @product + '%')";
connection.Open();
MySqlCommand command = new MySqlCommand(selectQuery, connection);
MySqlDataReader reader = command.ExecuteReader();
command.Parameters.AddWithValue("@barras", Txtcodigo.Text);
command.Parameters.AddWithValue("@product", Txtcodigo.Text);
//MySqlDataReader reader = command.ExecuteReader();
DataTable dt2 = new DataTable();
dt2.Load(reader);
DataView dvDataTable = new DataView(dt2);
//DataRow row = dt2.Rows[1];
Txtproduto.Text = reader.GetString("descricao");
它说我的阅读器是空的,但是我使用相同的代码来加载组合框并且它可以工作,唯一的区别是在组合框上我的选择是:select * from unidades;并且没有参数,因为该表上只有 2 行,而 products 表上还有更多,我只需要那些 2:描述和 id;条形码只是为了搜索
【问题讨论】:
-
您在将参数添加到查询之前调用了 ExecuteReader。
-
同样在查询中,您将
@barcodes参数括在单引号中,这似乎是错误的