salut
Et il possible de faire des accées avec le c++ builder sur une basse de données crée sous MySQL
si oui comment ?
thx
salut
Et il possible de faire des accées avec le c++ builder sur une basse de données crée sous MySQL
si oui comment ?
thx
Essai avec les composants suivants :
SQLConnection // permet de se connecter à une base de donnée
ensuite tu peux utiliser le composant:
SQLDataSet // permet de traiter tes requétes..
exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // on se connecte a la bd SQLConnection1->Connected = true; // on execute notre requete SQLDataSet1->CommandText = "select * from table ..."; // on regarde cmbien on a de record int nb = SQLDataSet1->RecordCount; // activation du curseurSQLDataSet1->Open(); // on se place sur le premier SQLDataSet1->First(); // boucle sur les enregistrements while(........) { String taVariable = SQLDataSet1->FieldValues["tonChamp"]; } // on ferme le curseur SQLDataSet1->Close();
J'en profite pour demander comment faire pour modifier les parametres de connexion à la base de donnée.
Car avec le code si dessus, je part du principe que les paramétres sont assigné lors de la création du composant, mais j'aimerais pouvoir les modifiers via le code selon un fichier....
Je sais que ca tourne autour du "params" mais j'ai pas reussi...
Un petit exemple m'aiderais bien.
Merci
Suffit de demander ;-)
Tu devrais trouver ce qu'il te faut ici :
http://ricky81.developpez.com/tutoriel/bcb/bde/
Cordialement
Eric
Aprés avoir lu, et recherche dans le forum, voila ce que j'ai testé:
Pas de chance, ca ne marche pas.... "Constante caractére trop longue ou vide" sur la premiére ligne, ou la deuxieme si je met en commentaire la premiere..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SQLConnection1->Params->Clear(); SQLConnection1->Params->Values['BlobSize'] = '-1'; SQLConnection1->Params->Values['Database'] = dbName; SQLConnection1->Params->Values['HostName'] = dbServeur; SQLConnection1->Params->Values['User_Name='] = dbUser; SQLConnection1->Params->Values['Password='] = '';
Il me semblait que j'aller toucher au but....
Bonjour,
ca ne serait pas mieux comme ceci ?
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQLConnection1->Params->Clear(); SQLConnection1->Params->Values["BlobSize"] = "-1"; SQLConnection1->Params->Values["Database"] = dbName; SQLConnection1->Params->Values["HostName"] = dbServeur; SQLConnection1->Params->Values["User_Name="] = dbUser; SQLConnection1->Params->Values["Password="] = "";
Eric
Personellement j'ai fait autrement...
Connection à une base de donnée mysql :
Ceci est à intégrer à chaque requête...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 MYSQL *mySQL; mySQL = mysql_init(NULL); MYSQL_ROW myROW; MYSQL_RES *myRES; if (!mysql_real_connect(mySQL, "serveur", "root", "password", "BaseDeDonnee", 0, NULL, 0)) { //Connection MySQL échouée } else { //Connection MySQL réussie }
Ensuite, avoir par exemple toute une liste de réponses :
Et ne pas oublier à la fin de chaque requête le fameux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 if (!mysql_query(mySQL, "select noms from tableau")) { myRES = mysql_store_result(mySQL); if (myRES) { for (unsigned int i = 0; i < myRES->row_count; i++) { myROW = mysql_fetch_row(myRES); for (unsigned int j = 0; j < mysql_num_fields(myRES); j++) { aStr = myROW[j]; ComboBox1->Items->Add(aStr); } } mysql_free_result(myRES); } }
Voila... A part ca... bah... aStr est en fait la réponse de la demande SQL, et pour savoir comment marchent les questions en mySQL, suffit d'aller sur le bon forum :-p mais voici quelques exemples :
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_close(mySQL);
Ceci permet de choisir les réponses dans la colonne "truc" dont le pseudo correspond à ce qui est écrit dans un combobox :-p C'est du code tout pret qui permet de mieux comprendre je penses...
Code : Sélectionner tout - Visualiser dans une fenêtre à part "select truc from tableau where pseudo ='"+ComboBox1->Text+"'";
Ensuite, pour raffraichir un peu le tableau et non pas seulement y lire :
et pour insérer une nouvelle ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part "update comptes set pass='"+Edit2->Text+"',nom='"+Edit3->Text+"' where pseudo ='"+Edit1->Text+"'";
Code : Sélectionner tout - Visualiser dans une fenêtre à part "insert into comptes (pseudo,pass,nom) values ('"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"')";
Bonjour,
pourquoi ne pas citer directement la ressource : http://lfe.developpez.com/BCBmySQL/
Cordialement
Eric
Parce que j'avais oublier d'ou ca me venait ^_^ J'ai une mémoire de poisson rouge, et puis de toute façon 95% de mes connaissances me viennent du site et du forum de developpez.com :-)
Sinon, si je m'en était souvenu je l'aurais citer... Enfin... D'ailleurs notre posteur principal pourrait nous dire quelle réponse a t'il préféré?
Partager