Ceci est une ancienne révision du document !
====== Connexions aux bases de données ====== ===== Ajouter une référence ===== ==== SQL Server ==== <code>using System.Data.SqlServer;</code> ==== SQL Server Compact ==== <code>using System.Data.SqlServerCe;</code> ==== MySQL ==== <code>using System.Data.MySqlClient;</code> ==== Oracle ==== <code>using Oracle.DataAccess.Client;</code> ===== Méthodes associés ===== ^SQL Server ^MySQL ^Oracle ^SQL Server Compact Edition | |SqlConnection |MySqlConnection |OracleConnection |SqlCeConnection |SqlCommand |MySqlCommand |OracleCommand |SqlCeCommand |SqlDataReader |MySqlReader |OracleReader |SqlCeReader ===== Connexion à la base de données ===== <code> // Préparation de la connexion à la base de données string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" SqlConnection connection = new SqlConnection(connectionString); try { // Connexion à la base de données connection.Open(); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } </code> ===== Exécuter une requête ===== <code> // Préparation de la requête SQL à exécuter SqlCommand command = connection.CreateCommand(); command.CommandText = "SELECT id, nom FROM COULEUR"; </code> ===== Exécuter une requête avec paramètres ===== <code> // Préparation de la requête SQL à exécuter command.CommandText = "SELECT * FROM couleur WHERE id = @id"; command.Parameters.AddWithValue("@id", 3); </code> ===== Lire les résultats d'une requête ===== <code> // Lecture des résultats SqlDataReader dataReader = command.ExecuteReader(); while (dataReader.Read()) { comboBox.Items.Add(dataReader["nom"]); } </code> ===== Ajouter, modifier, supprimer des données ===== <code> // Définition de la requête command.CommandText = "INSERT INTO couleur (id, nom) VALUES (@id, @nom)"; command.Parameters.AddWithValue("@id", 1); command.Parameters.AddWithValue("@nom", "Violet"); // Exécution de la requête Command.ExecuteNonQuery(); </code> <WRAP center round tip 60%> Le principe reste le même pour des requêtes UPDATE ou DELETE. </WRAP> ===== Connexion ODBC ===== <code> using System.Data; using Microsoft.Data.Odbc; string myConnectionString = ""Driver={SQL Server};Server=mySQLServer;UID=***;PWD=***;Database=***;""; string mySelectQuery = "Select * from Client"; public void CreateMyOdbcDataReader(string mySelectQuery,string myConnectionString) { OdbcConnection myConnection = new OdbcConnection(myConnectionString); OdbcCommand myCommand = new OdbcCommand(mySelectQuery, myConnection); myConnection.Open(); OdbcDataReader myReader = myCommand.ExecuteReader(); try { while(myReader.Read()) { Console.WriteLine(myReader.GetString(0)); } } finally { myReader.Close(); myConnection.Close(); } } } </code>