Requete sql avec parametres sous builder 6

brice_mougoue Messages postés 4 Date d'inscription jeudi 19 mars 2015 Statut Membre Dernière intervention 24 mars 2015 - Modifié par cptpingu le 20/03/2015 à 10:50
brice_mougoue Messages postés 4 Date d'inscription jeudi 19 mars 2015 Statut Membre Dernière intervention 24 mars 2015 - 20 mars 2015 à 14:55
salut les gars !
avant toute chose j'aimerais vous prévenir, je ne suis pas très expérimenté en programmation sous builder.
mon problème est le suivant: je voudrais écrire un petit programme qui permet grâce aux objet BDE de builder, de se connecter à une base mysql et de faire une requête d'insertion de données lorsqu'on appuis sur un boutton.
en plus j'aimerai que cette requête prenne en paramètre trois variables de type entiers.
j'ai essayer de produire un bout de code qui envoie des valeurs statiques à la base, sa compile bien mais ne transfert aucune données.
voici le code:

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1* Form1;

__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject* Sender)
{
  Session1->Open();
  Database1->Open();
  Query1->SQL->Add("INSERT INTO donnee(num_donnee, temperature, intensite_lumineuse) VALUES(NULL, 12, 13)");
  Query1->Close();
  Database1->Close();
  Session1->Close();
}


merci à tous ceux qui vont se pencher sur la question.

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
19 mars 2015 à 20:07
Salut,

je ne connais pas builder mais une petite recherche montre qu'il faut au moins une de ces 2 instructions pour déclencher la commande :

Query1->Open();
//ou
Query1->ExecSQL();


bye..
0
brice_mougoue Messages postés 4 Date d'inscription jeudi 19 mars 2015 Statut Membre Dernière intervention 24 mars 2015
Modifié par cptpingu le 20/03/2015 à 18:44
Salut les gars, j'ai finalement trouvé la reponse à ma question.
Voici ce que ça donne (on ne sait jamais, quelqu'un en aura peut être besoin un jour):
{
  AnsiString phrase1;
  Session1->Open();
  Database1->Open();
  Query1->SQL->Text = Format("INSERT INTO Donnee VALUES (0,%s)", ARRAYOFCONST(phrase1));
  Query1->ExecSQL();
  Query1->Close();
  Database1->Close();
  Session1->Close();
}


Merci yann !!!
0
Rejoignez-nous