我在使用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;
返回的错误是
您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册,以在第1行的'NULL = FOUND_ROWS()'附近使用正确的语法
我如何获取@resultCount以返回总记录数
最佳答案
创建参数时,我认为您需要指定不带@
的名称。
另外,您将需要指定参数的方向。我认为默认情况下它仅是输入,这意味着您需要提供一个将插入命令中的值。您想要的是输出。您可以在创建参数或设置属性时通过一些重载来指定方向-不知道语法是否与其他提供程序不同,因为我已经有一段时间没有使用MySql了,但是应该是:
parm.Direction = ParameterDirection.Output;