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]


Inscria

Inscria

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:

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar