2015-10-10 2 views
1

Итак, я пытаюсь создать простую программу с C# /. NET, которая требует базы данных. Я прочитал некоторые вещи, и я попытался сделать это соединение, но по какой-то причине мой компьютер не может подключиться к серверу (localhost). Я успешно установил MySQL Connector/NET и MySQL на моем ПК, я использую workbench для создания таблиц базы данных. Мой код:Не удается создать соединение C# с mySQL

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 + ";"; 

который должен работать.

Смежные вопросы