我正在尝试使用带有c#的MYSQL选择查询。
以下查询搜索“ID”工作正常:
conn = new MySqlConnection(cs);
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandText = "select * from catalog_product_entity where entity_id = ?Id";
MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
cmd.Parameters.Add("?Id", SqlDbType.Text).Value = ProductList[i].ProductId.ToString();
adp.Fill(MagentoProduct);
现在,我想在表格中搜索确切的字符串值。我正在使用以下代码并给出空结果:
我的代码:
conn = new MySqlConnection(cs);
conn.Open();
cmd = new MySqlCommand("select * from catalog_category_entity_varchar where value = @Value;", conn);
cmd.Parameters.AddWithValue("@Value", "Storybooks");
MySqlDataReader r = cmd.ExecuteReader();
while (r.Read())
{
log.WriteEntry(r.GetString("value"));
}
答案 0 :(得分:3)
这是问题所在:
where value = '?cname'
指定?cname
作为您要搜索的文字值 - 当您实际只想要参数时。删除引号,它应该没问题:
where value = ?cname
(您应该使用using
语句进行连接和命令,请注意......)
答案 1 :(得分:0)
您可以尝试使用SQL Reader
c = new MySqlCommand("select * from catalog_product_entity where column_nam = @Value;", conn);
c.Parameters.AddWithValue("@Value", your string);
MySqlDataReader r = c.ExecuteReader();
然后使用Reader方法,如reader.GetString(" column_name"),....