Я пытаюсь выполнить запрос, который в настоящее время работает в phpMyAdmin, но он не работает при выполнении его в .NET с помощью MySqlAdapter. Это оператор Sql.
SELECT @rownum := @rownum +1 rownum, t . *
FROM (
SELECT @rownum :=0
) r, (
SELECT DISTINCT
TYPE FROM `node`
WHERE TYPE NOT IN ('ad', 'chatroom')
)t
Использует @rownum для номера каждой отдельной строки, возвращаемой из моего внутреннего скалярного запроса. Но если я использую его в .NET, он предполагает, что @rownum является параметром и выбрасывает исключение, потому что я его не определял.
using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION))
{
sqlConnection.Open();
MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(SqlStatement, sqlConnection);
DataTable table = new DataTable();
sqlAdapter.Fill(table);
sqlConnection.Close();
return table;
}
Любые идеи о том, как я могу обойти эту проблему? Или возможные способы получить номер строки?