Méthode la plus efficace pour tester la disponibilité des strings de connection SQL

J'ai ce code que j'ai essayé de faire tester la connectivité des strings SQL, mais je ne sais pas comment gérer la partie avec connection.Open = true pourriez-vous s'il vous plaît m'aider à résoudre ce problème? Merci beaucoup pour votre time.

  private void button1_Click(object sender, EventArgs e) { try { using (SqlConnection connection = new SqlConnection("Data Source='" + textBox1.Text + "';Initial Catalog='" + textBox2.Text + "';User ID='" + textBox3.Text + "';Password='" + textBox4.Text + "'")) { try { connection.Open(); if (connection.Open == true) // if connection.Open was successful { MessageBox.Show("You have been successfully connected to the database!"); } else { MessageBox.Show("Connection failed."); } } catch (SqlException) { } } } catch (Exception ex) { MessageBox.Show("Chyba v přihlášení: " + ex); } finally { } } 

Il dit: "Impossible d'asigner" ouvert "parce que c'est un" groupe methoud "" Je sais que ce code peut être totalement mauvais, mais je dois gérer cela en quelque sorte et je n'ai aucune idée de ce qui est correct. Je vous remercie.

C'est ce qui ne fonctionne pas réellement pour une connection non-ouverte:

 using (SqlConnection connection = new SqlConnection("Data Source='" + textBox1.Text + "';Initial Catalog='" + textBox2.Text + "';User ID='" + textBox3.Text + "';Password='" + textBox4.Text + "'")) { connection.Open(); if (connection.State == ConnectionState.Open) { MessageBox.Show("Spojení s databázi problěhlo úspěšně."); } connection.Close(); if (connection.State == ConnectionState.Closed) { MessageBox.Show("Spojení selhalo"); } } 

Vous utilisez connection.Open = true comme s'il s'agissait d'une propriété.

C'est une méthode: connection.Open()

Utilisez l'énumération ConnectionState pour déterminer si la connection est ouverte ou non, par exemple:

 connection.State == ConnectionState.Open 

Vous devez vérifier s'il est ouvert avec ce code:

 if(connection.State == ConnectionState.Open) { ... }