[SMDBGrid] "No data to display"?
Bonjour
(Puisque le serveur newsgroups.borland.com est dans les choux depuis plusieurs heures ("Connection refused", puis "502 Cannot connect to the NNTP server, connect error 10061"), je me permets de poster ici la question.)
J'aimerais utiliser le grid gratuit SMDBGrid, mais même après l'avoir connecté à un connecteur DB + dataset + datasource, il affiche "No data to display" à l'exécution. Il n'y pas de documentation et rien dans son groupe Yahoo. Pour info, les données sont correctement affichées dans la ListBox:
Voici le code:
Code:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
procedure TForm2.FormCreate(Sender: TObject);
var
col, row : Integer;
begin
with ASQLite3DB1 do begin
DefaultDir := ExtractFileDir(Application.ExeName);
Database := 'db.sqlite';
Open;
SQLite3_ExecSQL('CREATE TABLE IF NOT EXISTS products (id integer primary key, name TEXT)');
SQLite3_ExecSQL('INSERT INTO products (id, name) VALUES (NULL,"test")');
end;
DataSource1.DataSet := ASQLite3Query1;
SMDBGrid1.DataSource := DataSource1;
//No trace of an .Open or .Activate method
With ASQLite3Query1 do begin
Connection := ASQLite3DB1;
SQL.Text := Format('SELECT %s FROM products',['products.*']);
Open;
//Grid says "No data to display"
//SMDBGrid1.Enabled := True;
//SMDBGrid1.Update;
//SMDBGrid1.Show;
//SMDBGrid1.Refresh;
First;
while not Eof do begin
for col := 0 to Fields.Count - 1 do begin
ListBox1.Items.Add(Fields[col].AsString);
end;
Next;
end;
Close;
end;
ASQLite3DB1.Close;
end; |
Pour info, j'ai aussi essayé de déplacer code dans l'évènement FormActivate() faisant l'hypothèse que c'était peut-être dû au fait que les objets BD sont sur une forme et que peut-être la forme n'étant pas étant créée... mais sans résultat.
Quelqu'un saurait-il ce qu'il faut faire?
Merci.