problème avec le composant TSQLQuery
Bonjour ,
je tente de faire un simple select avec une condition where afin de recupérer le nom dans un champ texte.
j'utilise donc le composant TSQLQuery de DBExpress
je sais ma connexion est correcte puisque j'ai pu obtenir le résultat que je voulais avec le composant TSQLDataSet ...
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
procedure TForm1.Button1Click(Sender: TObject);
begin
DataModule2.SQLConnection1.Connected := true;
memo.Lines.Clear;
DataModule2.SQLQuery1.SQL.Clear;
DataModule2.SQLQuery1.Active := true;
DataModule2.SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
memo.Lines.Append(DataModule2.SQLQuery1.FieldByName('LAST_NAME').AsString);
DataModule2.SQLConnection1.Connected := false;
end; |
l'erreur que j'obtiens est la suivante
Citation:
le projet select.exe a provoqué une classe d'execption .... avec le message 'Requête , nom de table ou nom procédure manquant' ....
aurais-je oublié un composant ???
je n'ai mis que la composant TSQLConnection et TSQLQuery ..
Merci
Re: problème avec le composant TSQLQuery
Citation:
Envoyé par vbcasimir
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
procedure TForm1.Button1Click(Sender: TObject);
begin
DataModule2.SQLConnection1.Connected := true;
memo.Lines.Clear;
DataModule2.SQLQuery1.SQL.Clear;
DataModule2.SQLQuery1.Active := true; // <----- ICI l'erreur
DataModule2.SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
memo.Lines.Append(DataModule2.SQLQuery1.FieldByName('LAST_NAME').AsString); // <---- c'est Add pas Append
DataModule2.SQLConnection1.Connected := false;
end; |
tu devrais ecrire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
procedure TForm1.Button1Click(Sender: TObject);
begin
With DataModule2 do
begin
SQLConnection1.Connected := true;
memo.Lines.Clear;
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add ('select last_name from EMPLOYEE where first_name = ''Luke''');
SQLQuery1.open;
memo.Lines.Add(SQLQuery1.FieldByName('LAST_NAME').AsString);
SQLConnection1.Connected := false;
end;
end; |
En fait tu ouvrais la requete avant d'avoir mis ce qu'elle devait faire.