Erreur ADOQuery1: impossible d'efectuer cette operation sur un ensemble de donne

moacrazy Messages postés 4 Date d'inscription lundi 5 septembre 2005 Statut Membre Dernière intervention 1 novembre 2005 - 1 nov. 2005 à 20:09
stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 - 1 nov. 2005 à 21:27
bonsoir a tous les delphinautes



j'ai un t'it probleme (mais ca je pense que ceux qui lise ce message s'en doutent!!!)

je fais une requette sql sur une base de donne

j'affiche le resultat dans un dbgrid

et si il n'y a aucun enregistrement je veux qu'il passe a la condition suivante

MAIS... ca ne marche pas dommage ca aurait ete trop beau

si quelqu'un sait comment faire je vous en prie toute les proposotion sont aceptees

voici un extrait de mon code si ca peut vous aider a comprendre ou je fais une erreur:procedure





TForm2.EnregistreclientClick(Sender: TObject);



var compteur: integer ;



begin



datamod1.ADOQuery1.SQL.Clear;

datamod1.Adoquery1.SQL.Text:='Select * from db1.clients where NOM = "'+edit1.text+'"';

datamod1.Adoquery1.ExecSQL;

compteur:= DbGrid1.DataSource.DataSet.RecordCount;



If compteur=0 then



begin



Query1.SQL.Clear;

Query1.SQL.Add('INSERT INTO db1.CLIENTS
(NOM,PRENOM,RUE,ADRESSE,[CODE POSTAL],VILLE,TEL,[TEL
PRO],PORTABLE,FAX,[E-MAIL],[N° TPS],[N° CANAL SAT],PROFESSION,NOTES)');

Query1.SQL.Add('VALUES (:,:,:,:,:,:,:,:,:,:,:,:,:,:,:)');

Query1.Params[0].AsString := uppercase(Edit1.Text);

Query1.Params[1].AsString := uppercase(edit2.Text);

Query1.Params[2].AsString := uppercase(edit3.Text);

Query1.Params[3].AsString := uppercase(edit4.Text);

Query1.Params[4].AsString := uppercase(edit5.Text);

Query1.Params[5].AsString := uppercase(edit6.Text);

Query1.Params[6].AsString := uppercase(edit7.Text);

Query1.Params[7].AsString := uppercase(edit8.Text);

Query1.Params[8].AsString := uppercase(edit9.Text);

Query1.Params[9].AsString := uppercase(edit10.Text);

Query1.Params[10].AsString := uppercase(Edit11.Text);

Query1.Params[11].AsString := uppercase(Edit12.Text);

Query1.Params[12].AsString := uppercase(Edit13.Text);

Query1.Params[13].AsString := uppercase(Edit14.Text);

Query1.Params[14].AsString := richedit1.Text;

Query1.ExecSQL;

end

else

Form9.showmodal;

exit;

end;

1 réponse

stu76 Messages postés 186 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 17 février 2008 1
1 nov. 2005 à 21:27
bonsoir moacrazy,

Je pense que ton prob réside dans le faite que ta base de donnée n'est pas en mode écriture. Essaye de mettre les lignes suivantes au début de ton code :

datamod1.ADOQuery1.SQL.active;
datamod1.ADOQuery1.SQL.append;
juste avant
datamod1.ADOQuery1.SQL.Clear;

Voilà, j'espère que ca pourrat t'aider,

@+ et bonne prog,

Stu76
0
Rejoignez-nous