我在使用 MySql 查询时遇到问题。
string strSql = "select SQL_CALC_FOUND_ROWS *, pv.* from products pv WHERE pv.name = 'Teddy Bear';";
strSql += "SET @resultCount = FOUND_ROWS();"
MySqlParameter parm = new MySqlParameter("@resultCount",MySqlDbType.Int32)
parm.Direction = ParameterDirection.Output;
var result = ObjectContext.ExecuteStoreQuery<Product>(strSql,parm);
return result;
返回的错误是
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL = FOUND_ROWS()' at line 1
如何让@resultCount返回总记录数
最佳答案
创建参数时,我认为您需要指定不带 @
的名称。
此外,您还需要指定参数方向;我认为默认情况下它只是输入,这意味着您需要提供一个将插入到命令中的值;你想要的是输出。您可以在创建参数或设置属性时通过一些重载来指定方向 - 不知道语法是否与其他提供程序不同,因为我已经有一段时间没有使用 MySql 了,但它应该是:
parm.Direction = ParameterDirection.Output;
关于c# - MySql Entity Framework 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3717618/