Lee*_*igh 2 .net c# mysql sql ado.net
我正在尝试使用单个MySql.Data SELECT语句从多行获取值。
我尝试使用以下代码但失败了。错误说
第 # 行存在语法错误
MySqlConnection mysqlcon = new MySqlConnection(M_str_sqlcon);
MySqlCommand mysqlcom = new MySqlCommand(
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'SKU') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'Price') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'Sold') AND " +
"SELECT value FROM metatable WHERE(ProductID = 16 AND MetaKey = 'SoldDate')"
, mysqlcon);
MySqlDataReader r = mysqlcom.ExecuteReader(CommandBehavior.CloseConnection);
prodMeta.Add(new ProductMeta{
ProductSKU = r.GetString(0),
RegularPrice = r.GetDouble(1),
SoldCount = r.GetInt32(2),
SoldDate = r.GetString(3)
});
mysqlcon.Close();
Run Code Online (Sandbox Code Playgroud)
Select您可以简单地使用这样的in运算符,而不是重复使用无效的语句:
SELECT value
FROM metatable
WHERE ProductID = 16 AND MetaKey in ('SKU','Price', 'Sold', 'SoldDate')
Run Code Online (Sandbox Code Playgroud)
而且你不需要在 where 后面加上括号。
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |