Bonjour j'ai un problème avec cette partie de mon code Delphi que j'utilise sur une db Firebird:


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
24
25
26
27
28
29
30
 
 
IBDataBase:=TIBDataBase.Create(nil);
      IBTransaction:=TIBTransaction.Create(nil);
      IBQuery:=TIBQuery.Create(nil);
      IBUpdateSQL:=TIBUpdateSQL.Create(nil);
      IBDatabase.Connected:=false;
      IBDataBase.DatabaseName := 'D:\Db\mabase.GDB';
      IBDataBase.SQLDialect := 3;
      IBDataBase.Params.Clear;
      IBDataBase.LoginPrompt:=false;
      IBDataBase.Params.Add('USER "SYSDBA"');
      IBDataBase.Params.Add('PASSWORD "masterkey"');
      IBDataBase.Params.Add('lc_ctype=ISO8859_1');
      IBDatabase.Connected := true;
 
      IBTransaction.DefaultDatabase:=IBDataBase;
      IBDataBase.DefaultTransaction:=IBTransaction;
       IBQUERY.Close;
 
 
      IBQuery.Database:=IBDataBase;
      IBQuery.Transaction:=IBTransaction;
      IBQuery.UpdateObject:=IBUpdateSQL;
      IBQuery.SQL.Text:='SELECT COUNT(*) FROM TABLE' ;
 
      Datasource1.DataSet:=IBQuery;
      DBGrid1.DataSource:=Datasource1;
      IBQuery.Open;
      IBQuery.ExecSQL;

L'erreur se produit au niveau de IBQuery.ExecSQL et le message d'erreur dit qu'il est "impossible d'effectuer cette opération sur un ensemble de données ouvert".

Pourriez-vous m'aider svp ?


Merci d'avance.