相关疑难解决方法(0)

是否可以在.NET MySqlCommand中使用MySql用户定义变量?

我正在尝试执行当前在phpMyAdmin中运行的查询,但是在使用MySqlAdapter在.NET中执行它时它不起作用.这是Sql语句.

SELECT @rownum := @rownum +1 rownum, t . *
FROM (
  SELECT @rownum :=0
) r, (
  SELECT DISTINCT
    TYPE FROM `node`
  WHERE TYPE NOT IN ('ad', 'chatroom')
)t     
Run Code Online (Sandbox Code Playgroud)

它使用@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;
}
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?或者我可以通过哪种方式获得行号?

.net c# mysql

15
推荐指数
1
解决办法
8462
查看次数

MySql“ SET @variable”在C#代码中引发致命错误

我在使用ExecuteNonQuery()时遇到致命错误。我是使用sql的新手,因此无法确定为什么此SET命令会导致问题。

我正在使用MySql 5.5.17,并且在VS2010 IDE中使用C#.Net Framework 3.5。

异常消息=命令执行期间遇到致命错误。错误行= SET @oldguid = 250006;

即时通讯使用的sql文件中的内容如下所示,减去了我删除的“注释”:

DELETE FROM `disables` WHERE `sourceType`=0 AND `entry`=61904;
INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `comment`) VALUES(0, 61904, 8, 'Magma Totem TEST - can crash client by spawning too many totems');
SET @oldguid = 250006;
SET @newguid = 202602;
UPDATE `creature` SET `guid`=@newguid WHERE `guid`=@oldguid;
UPDATE `creature_addon` SET `guid`=@newguid, `path_id`=@newguid*100 WHERE `guid`=@oldguid;
UPDATE `waypoint_data` SET `id`=@newguid*100 WHERE `id`=@oldguid*100;
UPDATE `areatrigger_teleport` SET `target_orientation`=2.255664 WHERE `id`=4386;
UPDATE `gameobject` SET `spawnMask`=3 …
Run Code Online (Sandbox Code Playgroud)

c# mysql

3
推荐指数
2
解决办法
4995
查看次数

标签 统计

c# ×2

mysql ×2

.net ×1