2015-10-10 86 views
1

好吧,所以我试图用C#/ .NET创建一个简单的程序,需要一个数据库。我读过一些东西,并试图建立连接,但出于某种原因,我的电脑无法连接到服务器(本地主机)。我已经在PC上成功安装了MySQL Connector/NET和MySQL,我正在使用工作台创建数据库表。我的代码是:无法创建与mySQL的C#连接

class DBconnect 
{ 
    private MySqlConnection connection; 
    private string server; 
    private string database; 
    private string uid; 
    private string password; 

    //Constructor 
    public DBconnect() 
    { 
     Initialize(); 
    } 

    //Initialize values 
    private void Initialize() 
    { 
     server = "localhost"; 
     database = "clientsdb"; 
     uid = "root"; 
     password = "password"; 
     string connectionString; 
     connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"; 
     //connectionString = "datasource=" + server + ";port=3306;username=" + uid + ";password=" + password + ";"; 

     connection = new MySqlConnection(connectionString); 
    } 

    //open connection to database 
    private bool OpenConnection() 
    { 
     try 
     { 
      connection.Open(); 
      return true; 
     } 
     catch (MySqlException ex) 
     { 
      //0: Cannot connect to server. 
      //1045: Invalid user name and/or password. 
      switch (ex.Number) 
      { 
       case 0: 
        MessageBox.Show("Cannot connect to server. Contact administrator"); 
        break; 

       case 1045: 
        MessageBox.Show("Invalid username/password, please try again"); 
        break; 
      } 
      return false; 
     } 
    } 

我都试过“的connectionString” -s但是当我尝试使用OpenConnection函数它给了我无法连接到服务器error.What我做错了什么?

+0

也许这与你的代码无关,但是与参数有关。您的代码看起来合法,您需要检查所有参数是否正常。 – VERYNET

+0

是的你是对的,这是一个参数问题。谢谢! –

回答

0

使用https://www.connectionstrings.com/mysql/我得到一个连接字符串是这样的:

connectionString = "Server=" + server + ";" + "Database=" + database + ";" + "Uid=" + uid + ";" + "Pwd=" + password + ";"; 

这应该工作。