这个数据库连接字符串有什么问题?

Jea*_*agr 6 c# mysql database-connection

我正在尝试使用以下代码连接到我的远程MySQL服务器.你能告诉我我做错了什么,因为用变量替换数据库连接信息似乎没有用.

   using MySql.Data.MySqlClient;       

   string db_Server = "10.0.0.0";
   string db_Name   = "myDatabase";
   string db_User   = "myUser";
   string db_Pass   = "myPassword";


   // Connection String
   MySqlConnection myConnection = new MySqlConnection("server = {0}; database = {1}; uid = {2}; pwd = {3}", db_server, db_Name, db_User, db_Pass);
Run Code Online (Sandbox Code Playgroud)

作为PHP开发人员,我更喜欢使用上面的代码而不是下面的故意转换:

   MySqlConnection myConnection = new MySqlConnection("server=10.0.0.0; database=myDatabase; uid=myUser; pwd=myPassword");
Run Code Online (Sandbox Code Playgroud)

但正如你在这张图片中看到的那样,我得到了很多红色的曲线:http: //screencast.com/t/xlwoG9by

Hab*_*bib 10

您的参数顺序错误,应该是:

db_server, db_Name, db_User, db_Pass
Run Code Online (Sandbox Code Playgroud)

目前它是:

"server = {0}; database = {1}; uid = {2};   pwd = {3}"
       db_Server         db_User   db_Pass   db_Name
Run Code Online (Sandbox Code Playgroud)

所以你的陈述应该是:

MySqlConnection myConnection = new MySqlConnection(string.Format(
"server = {0}; database = {1}; uid = {2}; pwd = {3}", 
db_Server,db_Name, db_User, db_Pass));
Run Code Online (Sandbox Code Playgroud)

编辑:基于评论和讨论,你得到的错误是你正在尝试所有的课程级别的东西.您应该在方法中包含这些行,并在需要的地方调用该方法.就像是:

class MyClass
{
    string db_Server = "10.0.0.0";
    string db_User = "myUser";
    string db_Pass = "myPassword";
    string db_Name = "myDatabase";


    public MySqlConnection GetConnection()
    {
        MySqlConnection myConnection = new MySqlConnection(string.Format(
                   "server = {0}; database = {1}; uid = {2}; pwd = {3}",
                    db_Server, db_Name, db_User, db_Pass));
        return myConnection;
    }
}
Run Code Online (Sandbox Code Playgroud)