У меня возникают проблемы с запросом 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, для правильного синтаксиса для использования рядом с "NULL = FOUND_ROWS()" в строке 1
Как мне получить @resultCount для возврата общего количества записей
При создании параметра я думаю, вам нужно указать имя без @
.
Кроме того, вам нужно указать направление параметра; Я думаю, что по умолчанию он вводится только, то есть вам нужно указать значение, которое будет вставлено в команду; то, что вы хотите, выводится. Вы можете указать направление с помощью некоторых перегрузок при создании параметра или путем установки свойства - не знаете, отличается ли синтаксис от других поставщиков, поскольку я не работал с MySql в течение некоторого времени, но это должно быть:
parm.Direction = ParameterDirection.Output;