Я пытаюсь выполнить запрос, который в настоящее время работает в 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;
}
Есть идеи, как мне обойти эту проблему? Или возможные способы получения номера строки?