开发者社区> 问答> 正文

如何在.NET MySqlCommand中使用MySql用户定义的变量??mysql

我只想执行以下Mysql语句

SET @a = 1;SELECT @a; 与MySql.Data.MySqlClient

$password = 'mypassword'

$sql = "SET @a = 1;SELECT @a;"

$server = 'localhost' $port = 3306 $database = 'test' $User = 'root'

$conn=new-object MySql.Data.MySqlClient.MySqlConnection $connectionstring = "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes" $conn.ConnectionString = $connectionstring $conn.Open()

$cmd=new-object MySql.Data.MySqlClient.MySqlCommand($sql,$conn) $ds=New-Object system.Data.DataSet $da=New-Object MySql.Data.MySqlClient.MySqlDataAdapter($cmd) $da.fill($ds) $conn.close() $ds.tables[0] 我收到一个致命错误。

当我用任一替换$ sql时

$sql = "SELECT DATABASE();" 要么

$sql = "SELECT 1;" 我得到了预期的结果。

我找到了这个问题,但是并不能解决我的问题。

我正在尝试将SQLIse(SQLPSX项目的一部分)移植到MySQL版本MySQLIse。

我想处理任何简单的有效mysql语句。

编辑:

我正在尝试运行sakila-schema.sql的一部分mysql demo数据库安装脚本,该脚本由类似

mysql>源C:/temp/sakila-db/sakila-schema.sql;

展开
收起
保持可爱mmm 2020-05-17 14:21:51 555 0
1 条回答
写回答
取消 提交回答
  • 我必须添加

    ;Allow User Variables=True 到连接字符串:

    $connectionstring = "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes;Allow User Variables=True" 作品。我使用6.3.6.0版进行了测试。的MySql.Data。来源:stack overflow

    2020-05-17 14:22:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像