首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# MySql创建用户

C# MySql创建用户
EN

Stack Overflow用户
提问于 2014-05-04 20:00:11
回答 1查看 3.4K关注 0票数 1

我试着用C#做一份注册声明。显然我去不了了。我不太清楚问题出在哪里。下面是一个片段:

代码语言:javascript
复制
MySqlConnection Connection = 
 new MySqlConnection("SERVER=localhost;UID=root;");
MySqlCommand Command = 
 new MySqlCommand("CREATE USER 'testuser'@'localhost' 
 IDENTIFIED BY 'superpassword';", Connection);
Command.ExecuteNonQuery();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-04 20:07:09

在执行命令之前,需要打开连接

代码语言:javascript
复制
using(MySqlConnection Connection = new MySqlConnection("SERVER=localhost;UID=root;"))
using(MySqlCommand Command = new MySqlCommand("CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'superpassword';", Connection))
{
    Connection.Open();
    Command.ExecuteNonQuery();
}

不要忘记将一次性命令包含在Using语句中。

编辑查看您的代码(为什么不立即将其放在这里?)很明显错误在哪里?

这条线

代码语言:javascript
复制
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password); 

应该是

代码语言:javascript
复制
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password); 

有三个传递给字符串格式的参数,因此用于string.format中占位符的索引为0、1和2。

您使用3作为密码,这将给出超出范围的异常。

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

https://stackoverflow.com/questions/23460954

复制
相关文章

相似问题

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