Мне нужно выполнить запрос к базе данных Mysql, который извлекает последние 10 строк из таблицы, в которой нет столбца индекса. Мне удалось создать запрос-
SET @row_number:=0;
select activity from (
SELECT @row_number:= @row_number+ 1 AS rowNumber, activity
FROM activities a ) as myT
where myT.rowNumber > (select count(activity) from activities)- 10
Но мне нужно запустить его через С#. И с помощью MysqlCommand я не могу создать параметр @row_number. Использование command.Parameters.AddWithValue
не помогает потому что параметр должен быть назначен при выполнении запроса. (использование Parameters.AddWithValue
приводит к следующей ошибке = "..синтаксис для использования рядом с ':= 1 + 1...").
Спасибо.
2 ответа
Я думаю, что вам нужно предложение LIMIT
:
select activity from activities
LIMIT 10
Я считаю, что вам придется создать хранимую процедуру, если вы хотите использовать параметр для суммы LIMIT
.
Возможно, я неправильно понимаю ваш вопрос, но если вы пытаетесь получить только первые 10 записей, почему бы не использовать это:
ВЫБЕРИТЕ ТОП-10 [название столбца] ИЗ [Таблица]
Это возвращает первые 10 результатов в таблице базы данных.
Или в С# вы можете установить переменную
Интервал номер_строки = 0; затем используйте команду.Parameter.add("@rowNumber", rowNumber);
Это может сработать.
Надеюсь это поможет.
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.