Fórum StringGrid com DBExpress? #197467
27/11/2003
0
ai galera blz ???? p mim nada nada bom
veja só : quero efetuar uma consulta usando a paleta dbexpress e uso o banco INTERBASE, mas desejo usar uma stringgrid e não um dbgrid pois minha aplicaçao é grande e tem q ser uma coisa leve, só que quando coloco os códigos necessários ele dá o seguinte erro :
DBXERROR Operation not suported
ele não aceita o RecordCount pq ???:
For i := 1 to RecordCount do
Begin
StrGridConTipoImovel.Rows[I].Clear;
StrGridConTipoImovel.Rows[i].add(IntToStr(Dm.QySQL.Fieldbyname(´cod_tipo_imo´).AsInteger));
StrGridConTipoImovel.Rows[i].add(Dm.QySQL.Fieldbyname(´desc_tipo_imo´).AsString);
StrGridConTipoImovel.RowCount := StrGridConTipoImovel.RowCount + 1;
Next;
end;
MEU EMAIL - inscria@ig.com.br
[url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]{Titulo Editado por não condizer com as Regras de conduta
Vide: Regra 2, Regra 4 e não poste mensagens repetidas, seja paciente
}[/url]
veja só : quero efetuar uma consulta usando a paleta dbexpress e uso o banco INTERBASE, mas desejo usar uma stringgrid e não um dbgrid pois minha aplicaçao é grande e tem q ser uma coisa leve, só que quando coloco os códigos necessários ele dá o seguinte erro :
DBXERROR Operation not suported
ele não aceita o RecordCount pq ???:
For i := 1 to RecordCount do
Begin
StrGridConTipoImovel.Rows[I].Clear;
StrGridConTipoImovel.Rows[i].add(IntToStr(Dm.QySQL.Fieldbyname(´cod_tipo_imo´).AsInteger));
StrGridConTipoImovel.Rows[i].add(Dm.QySQL.Fieldbyname(´desc_tipo_imo´).AsString);
StrGridConTipoImovel.RowCount := StrGridConTipoImovel.RowCount + 1;
Next;
end;
MEU EMAIL - inscria@ig.com.br
[url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]{Titulo Editado por não condizer com as Regras de conduta
Vide: Regra 2, Regra 4 e não poste mensagens repetidas, seja paciente
}[/url]
Inscria
Curtir tópico
+ 0
Responder
Posts
27/11/2003
Yankleber
Oi,
Olha só...
Eu nunca trabalhei com o StringGrid e o DBExpress juntos, mas acredito que está faltando alguma coisa aí. Veja: quando você invoca o RecordCount, ele é na realidade um método de algum objeto, e você o está invocando sem associação a esse objeto; ou seja, você está solicitando o RecordCount DE QUE???
Acredito que você esteja fazendo uma pesquisa usando SQL e jogando o resultado dela dentro de ´Dm´, que imagino que seja o seu recordset.
Neste caso, eu tentaria invocar o método RecordCount, a partir do recordset lido, assim:
e o resto fica tudo igual...
Quando você faz um pesquisa através de SELECT, o resultado, ou seja, os registros que atendem essa solicitação são armazenados no seu recordset (uma lista dinâmica em memória contendo um ´snapshot´ parcial do seu BD). Assim, quando você invoca o método RecordCount, ele irá retornar o número de registros do seu recordset. Se você chamar o método RecordCount sozinho, o Delphi não sabe o que fazer, o que é muito lógico: imagine que você estivesse fazendo várias pesquisas e tivesse 4 ou 5 recordsets e precisasse saber o número de registros de cada um deles??? Ao chamar o RecordCount, o Delphi simplesmente não saberia a qual recordset você estaria se referindo...
Espero ter ajudado, e não ter complicado mais do que explicado!!!
Olha só...
Eu nunca trabalhei com o StringGrid e o DBExpress juntos, mas acredito que está faltando alguma coisa aí. Veja: quando você invoca o RecordCount, ele é na realidade um método de algum objeto, e você o está invocando sem associação a esse objeto; ou seja, você está solicitando o RecordCount DE QUE???
Acredito que você esteja fazendo uma pesquisa usando SQL e jogando o resultado dela dentro de ´Dm´, que imagino que seja o seu recordset.
Neste caso, eu tentaria invocar o método RecordCount, a partir do recordset lido, assim:
For i := 1 to Dm.RecordCount do
e o resto fica tudo igual...
Quando você faz um pesquisa através de SELECT, o resultado, ou seja, os registros que atendem essa solicitação são armazenados no seu recordset (uma lista dinâmica em memória contendo um ´snapshot´ parcial do seu BD). Assim, quando você invoca o método RecordCount, ele irá retornar o número de registros do seu recordset. Se você chamar o método RecordCount sozinho, o Delphi não sabe o que fazer, o que é muito lógico: imagine que você estivesse fazendo várias pesquisas e tivesse 4 ou 5 recordsets e precisasse saber o número de registros de cada um deles??? Ao chamar o RecordCount, o Delphi simplesmente não saberia a qual recordset você estaria se referindo...
Espero ter ajudado, e não ter complicado mais do que explicado!!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)