Manipulation d'une BD avec des requêtes paramétrés

Résolu
newgame
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013
- 2 juil. 2013 à 12:10
sp40
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
- 3 juil. 2013 à 14:17
Bonjour,
je veux exécuter une requête sql d'insertion paramétrée(selon des champs edit) sur Delphi via le clic d'un bouton voilà le code du bouton :
with query1 do
begin
sql.clear;
sql.add('insert into Data values(edit1.text,edit2.text,edit3.text));
execsql;

end;
mais ça marche pas!!!!!
que faire???
merci d'avance

6 réponses

newgame
Messages postés
52
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
24 juillet 2013

3 juil. 2013 à 12:11
Bonjour,
Mauricio a dit:"Oú sont les champs?"
l'oublie des champs n'était qu'une gaffe car j'ai réécris le code mais pas copier coller mais il sont présent dans le code delphi
le langage SQL! j'ai pas de soucis avec
simonpelloquin j'ai essayé ton code et ça fonctionne pas!
et voilà la solution exacte que j'ai trouvé:


var
n,p,a:string;
begin
n:=nomedit.text;
p:=prenomedit.text;
a:=adresseedit.text;
with Query1 do
begin
sql.clear;
sql.add('insert into Data(Nom, Prenom, Adresse) values("'+n+' ","'+p+'","'+a+'")');
execsql;
end;
end;
fonctionne à 100%
3
cs_MAURICIO
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
2 juil. 2013 à 16:33
"mais ça marche pas!!!!!"
Oú sont les champs?

"que faire??? "
Apprendre d' urgence le langage SQL.

Maurício



Composants Cindy pour Delphi
Faites une donation.
0
sp40
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
3 juil. 2013 à 09:07
rooo Mauricio...

with query1 do begin
   SQL.Clear;
   SQL.Add('Insert into Data(Champ1, Champ2, Champ3)');
   SQL.Add('Values(:P_Param1, :P_Param2, :P_Param3)');
   ParamByName('P_Param1').AsString := edit1.text;
   ParamByName('P_Param2').AsString := edit2.text;
   ParamByName('P_Param3').AsString := edit3.text;   
   execsql;


Avec ça, tu devrais y arriver...
Tu ne peux pas mélanger du Pascal et du SQL

Simon
0
sp40
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
3 juil. 2013 à 09:07
Et un "end" à la fin du with


Simon
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MAURICIO
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
3 juil. 2013 à 12:32
Tu comprendras très vite que la solution de Simon fait la gestion des caractères spéciaux dans les valeurs de champs.

a+


Composants Cindy pour Delphi
Faites une donation.
0
sp40
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
3 juil. 2013 à 14:17
Tu comprendras très vite que la solution de Simon fait la gestion des caractères spéciaux dans les valeurs de champs.

-> Ouais ! Essaie de mettre 'toto"tata' dans ton nomedit.text et dis moi si ça fonctionne toujours à 100% ! arf arf arf !

simonpelloquin j'ai essayé ton code et ça fonctionne pas!

-> bé donne le message d'erreur... Je ne suis pas infaillible, mais je ne suis pas devin non plus...
Quelle est la classe de ton query1 ? Quel SGBD utilises tu ?

Simon
0