我试图执行一个当前在phpMyAdmin中工作的查询,但它在.NET中使用MySqlAdapter执行时不起作用。这是Sql语句。是否可以在.NET MySqlCommand中使用MySql用户定义的变量?
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;
}
有关如何解决此问题的任何想法?或可能的方式让我得到一个行号?
我说实话我会回避手动生成数字这种方式,但我可以看到这是一个可能的解决方案。我想我真的需要重新思考我将数据提取出来的方式。 – 2009-06-17 02:38:17