首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySql MySqlCommand中使用.NET用户定义的变量?

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

Stack Overflow用户
提问于 2011-04-02 17:17:08
回答 1查看 19K关注 0票数 24

我只想执行以下Mysql语句

代码语言:javascript
复制
SET @a = 1;SELECT @a;

用MySql.Data.MySqlClient

代码语言:javascript
复制
[System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")

$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时

代码语言:javascript
复制
$sql = "SELECT DATABASE();"

或

代码语言:javascript
复制
$sql = "SELECT 1;"

我得到了预期的结果。

我找到了这个问题,但它解决不了我的问题。

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

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

编辑:

我试图运行部分的mysql演示数据库安装脚本,该脚本运行如下所示

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-03 15:41:10

我在这个博客中找到了解决方案

我得补充一下

代码语言:javascript
复制
;Allow User Variables=True

到连接字符串:

代码语言:javascript
复制
$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的。

票数 58
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5524632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档