(Le code associé au tutorial est disponible ici .)
Bonjour, tout d'abord, je ne prétends pas tout savoir sur le sujet, et si ce tutorial contient des erreurs ou est susceptible d'être amélioré, vos remarques seront les bienvenues! De plus, lexemple donné est on ne peut plus inutile mais je pense quil permet de se familiariser avec ces mécanismes et de savoir où chercher de laide à lavenir.
Alors, pour accèder à une base de donnée ODBC (si vous ne savez pas ce qu'est ODBC : http://www.commentcamarche.net/odbc/odbcintro.php3), il y a le DSN (Data Source Name), qui est une sorte de lien entre le système et la base de données : (vive MS Paint!)

(Dessin très simplifié de ce à quoi sert le DSN... En réalité, comme son nom l'indique, le DSN n'est qu'un nom qui permet de faire la liaison avec une base via ODBC.)
Le DSN est une sorte d'alias sur la base de données. Cela permet :
1- de simplifier la connexion à la base
2- et surtout de pouvoir changer facilement de base.
Etape 1 : Configurer ODBC sur le système concerné
Dans cette étape, nous allons configurer ODBC en affectant un DSN à notre de base de données.
(Jutilise une base Access dans mon exemple, mais le principe même dODBC veut que cette manip soit valable pour tous les types de base de données compatibles ODBC)
A) Installer ODBC :
Vous devez tout dabord si vous ne lavez pas fait télécharger le composant de prise en charge dODBC par Visual C#.
Il se trouve sur le site de Microsoft ici.
B) Configuration :
Allez dans panneau de configuration->Outils d'administration->Sources de données (ODBC)

Dans longlet Sources de données utilisateur, cliquez sur Ajouter.

Sélectionnez le type de votre base de données (Ici : Microsoft Access Driver (*.mdb)) et cliquez sur Terminé.
Saffiche alors lécran suivant :
Remplissez alors le champ Nom de la Source de Données (le fameux DSN) avec
..le nom que vous voulez associer à la base ! (par expérience, choisissez un nom explicite et simple à retenir).
Cliquez alors sur Sélectionner
et sélectionnez votre base de données.

Voilà, la configuration dODBC est terminée. Validez les deux fenêtres.
Etape 2 : Connexion à la base de données en utilisant le DSN
A) Prérequis :
Notre DSN étant maintenant relié à la base, nous pouvons écrire une petite application qui va récupérer des valeurs dans la base et les afficher dans une textBox.
La base de test que je fournis (initialement construite pour afficher des courbes) contient deux tables :
-PLOTS qui contient les champs ID et PLOT (PLOT est le nom associé à la courbe et ID est son identifiant).
-COURBES qui contient les champs ID, DATE et MESURE (ID est lidentifiant de la courbe, DATE est la date de la mesure (abscisse) et MESURE est la valeur de la mesure (ordonnée))
Lancez Visual Studio et créez un nouveau projet nouvelle application windows.
Mettez sur votre form une textBox (textBox1 par défaut) et dans la fenêtre de propriétés, mettez son attribut Multilin à true.

Double cliquez alors sur la form (pas sur la textBox !) pour éditer la méthode private void Form1_Load(object sender, System.EventArgs e).
Mais avant cela, il faut déclarer les namespace utilisés, ajoutez la directive using System.Data.Odbc;
B) Connexion :
On se connecte à la base grâce à lobjet OdbcConnection. Il faut pour cela une chaîne de connexion (attribut ConnectionString de OdbcConnection).
Entrez le code suivant dans la méthode Form1_Load :
//création de la connection
OdbcConnection connection = new OdbcConnection();
//chaine de connection (du type "DSN=monDSN)
string chaineDeConnection = "DSN=baseTest";
//affectation de la chaine de connection à la connection
connection.ConnectionString = chaineDeConnection;
//ouverture de la connection
connection.Open();
Voilà, vous savez maintenant comment se connecter à une base de données à laide de son DSN.
Etape 3 : Récupération des données dans la base
Bien, maintenant, nous allons récupérer des valeurs dans la base à laide dune requête SQL (Si vous ne savez pas ou peu ce quest une requête SQL, cliquez ici ).
Pour cela, nous utiliserons deux objets : le DataSet et le OdbcDataAdapter.
Le DataSet est une sorte de projection des résultats dune requête en mêmoire. Il stocke les valeurs renvoyées par la requête.
Le OdbcDataAdapter constitue la liaison entre la connexion (donc la base) et le DataSet. Il exécute la requête sur la base et rempli le dataSet grâce à la méthode Fill().
Complétez alors votre code :
//id de la courbe à afficher
int idCourbe=5;
//requete à exécuter (ici, nous récupérons les dates et valeurs des mesures de la courbe 5
//vous pouvez bien évidemment modifier cette requête
string requete = "SELECT DATE, MESURE FROM MESURES WHERE ID=" + idCourbe + " ORDER BY DATE ASC";
//création de la connection
OdbcConnection connection = new OdbcConnection();
//chaine de connection (du type "DSN=monDSN)
string chaineDeConnection = "DSN=baseTest";
//affectation de la chaine de connection à la connection
connection.ConnectionString = chaineDeConnection;
//ouverture de la connection
connection.Open();
//création du DataSet
DataSet data = new DataSet();
//création du OdbcDataAdapter
OdbcDataAdapter adapter = new OdbcDataAdapter(requete, connection);
//remplissage du DataSet avec les résultats de la requête
adapter.Fill(data);
Nous avons alors rempli le DataSet avec les valeurs qui nous intéressent. Il nous reste maintenant à les extraire.
Etape 4 : Extraction des données dun dataset
Un DataSet possède des tables de type DataTable, qui possèdent des Columns (je nirai pas jusquà traduire ce mot) de type DataColumn et des champs (Rows) de type DataRow.
Par défaut, le OdbcDataAdapter remplit la Table[0] du dataSet, cest donc dans celle-ci que nous allons chercher nos données dans notre cas.
Bref, je pense que le code est peut-être plus explicite que des explications dans ce cas :
//id de la courbe à afficher
int idCourbe=5;
//requete à exécuter (ici, nous récupérons les dates et valeurs des mesures de la courbe 5
//vous pouvez bien évidemment modifier cette requête
string requete = "SELECT DATE, MESURE FROM MESURES WHERE ID=" + idCourbe + " ORDER BY DATE ASC";
//création de la connection
OdbcConnection connection = new OdbcConnection();
//chaine de connection (du type "DSN=monDSN)
string chaineDeConnection = "DSN=baseTest";
//affectation de la chaine de connection à la connection
connection.ConnectionString = chaineDeConnection;
//ouverture de la connection
connection.Open();
//création du DataSet
DataSet data = new DataSet();
//création du OdbcDataAdapter
OdbcDataAdapter adapter = new OdbcDataAdapter(requete, connection);
//remplissage du DataSet avec les résultats de la requête
adapter.Fill(data);
//on déclare maTable comme étant la première table du DataSet (celle qui nous interesse)
DataTable maTable = data.Tables[0];
//on affiche l'ID de la courbe concernée (\r\n pour sauter une ligne)
textBox1.Text = "Courbe " + idCourbe + "\r\n";
foreach (DataRow row in maTable.Rows)
{
//et on affiche dans la textBox la date et la valeur de chaque mesure de la courbe
textBox1.Text += "date : " + row[0] + " - val : " + row[1] + "\r\n";
}
Et voilà :

Conclusion :
Vous savez donc maintenant (si je ne my suis pas mal pris) extraire des données dune base de données en passant par un DataSet. Je lai déjà dit au début mais je le répète, ce qui est important, cest de comprendre le principe, de comprendre les mécanismes mis en jeu. Selon moi, si vous savez faire ça, vous pouvez faire beaucoup plus
Macnan.