【问题标题】:MySql Entity Framework SelectMySql 实体框架选择
【发布时间】:2010-09-15 12:37:31
【问题描述】:

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 返回总记录数

【问题讨论】:

  • 由于引用错误,您的 SQL 无效。我试图修补它,以便我可以阅读您的问题。我不知道这是否是问题所在,或者您是否只是在问题中错误地转录了它。

标签: c# mysql entity-framework


【解决方案1】:

创建参数时,我认为您需要指定不带@ 的名称。

此外,您还需要指定参数方向;我认为默认情况下它只是输入,这意味着您需要提供一个将插入命令中的值;你想要的是输出。您可以在创建参数或通过设置属性时通过一些重载来指定方向 - 不知道语法是否与其他提供程序不同,因为我已经有一段时间没有使用 MySql 了,但它应该是:

parm.Direction = ParameterDirection.Output;

【讨论】:

  • 有或没有@ 似乎仍然无法解决它。 param.Direction 已经指定,但我尝试了 ParameterDirection 下的所有可能选项,但仍然无济于事
猜你喜欢
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多