我创建了一个需要执行SQL脚本的简单WinForm应用程序。 执行的结果可以是零,一个或多个记录集。基本上完成以下工作:
var ds = MySqlHelper.ExecuteDataset(Dsn, sqlString);
它工作正常,但是当SQL脚本包含应该创建存储过程的代码时会出现问题。这有效:
CREATE DEFINER = 'root'@'localhost'
PROCEDURE test1()
BEGIN
SELECT * FROM table_1;
END
但是,当脚本包含一个语句时,我会收到错误。
CREATE DEFINER = 'root'@'localhost'
PROCEDURE test1()
BEGIN
SELECT * FROM table_1;
SET @s1 = 'Any text...'; -- This is the problematic statement!
END
错误信息为:" 参数' @ s1'必须定义!" 简而言之,我不想为" MySqlHelper.ExecuteDataset "提供参数。命令。我想创建一个包含' SET @ s1 = ...'声明。
如何解决这个问题?
感谢。