Página 1 de 1

Recordset ADO no objeto Grid.

Enviado: 27 Abr 2021 17:58
por Mario Mesquita
Boa noite a todos.

Pessoal, não tem como conectar um objeto Grid a um recordset ADO? Tentei de várias formas, mas só consegui que ele lesse e botasse no grid o
primeiro registro, o resto não vem.

Vendo aqui as postagens, só vi varrendo o recordset e adicionando no grid. Só dá desse jeito mesmo? Se sim, é uma pena não ter como editar completo.

Postei aqui porquê estou usando a HMG 3.5, mas creio ser de interesse geral para o Harbour.

Sds,
Mario.

Recordset ADO no objeto Grid.

Enviado: 27 Abr 2021 18:27
por JoséQuintas
Na maioria das LIBs, elas procuram fazer um grid pra dar mais recursos, e geralmente vinculam a DBF ou array.
Verifique se tem opção pra ADO.
Em algumas LIBs, elas adicionam a antiga RDDADO, pra usar igual DBF, mas fica preso a usar RDDADO também pra consulta, não somente para o recordset final.

algo como USE ( "SELECT..." ) ALIAS RS VIA ADORDD

Tinha até esquecido disso....
Mas não lembro o uso correto.

No momento tem em extras, no Harbour 3.2, e em algumas LIBs também.

Recordset ADO no objeto Grid.

Enviado: 27 Abr 2021 19:04
por Mario Mesquita
Oi, Quintas.

Bom, mas aí cai no que vc diz, a gente acaba dependente de recursos da linguagem fugindo um pouco da portabilidade caso queira usar em outra ferramenta.

Não é o fim do mundo fazer um "AddItem" pro grid, mas acreditei que como SQL já era uma realidade faz tempo, já houvesse uma preparação nos objetos para
receber a informação.

Até botei coisa do "Fields" no Grid, mas só pega o primeiro registro do recordset, o resto cai no limbo.

E consultei foi coisa, até pra DBF muita gente faz assim. Acho que porquê o Grid aceita direto apenas vetores.

Sds,
Mario.

Recordset ADO no objeto Grid.

Enviado: 27 Abr 2021 20:23
por JoséQuintas
Mario Mesquita escreveu:Até botei coisa do "Fields" no Grid, mas só pega o primeiro registro do recordset, o resto cai no limbo.
E consultei foi coisa, até pra DBF muita gente faz assim. Acho que porquê o Grid aceita direto apenas vetores.
Pois é.
HWGUI já tem pra ADO, me parece que outras LIBs também.
No Harbour também é relativamente tranquilo, mas o detalhe é sobre o tamanho, já que SQL aceita tamanho variável.

Se fosse direto:

Código: Selecionar todos

{ { "CODIGO", { || rs:Fields( "codigo" ):Value } }
ao fazer isso, vai pegar o codigo atual, de onde estiver posicionado.

Mas precisa criar os SkipBlock(), GoTopBlock(), GoBottomBlock() específicos para ADO.

Foi aí que preferi a classe, porque Eof() em ADO dá erro, se já estiver em EOF(), por exemplo
Dá uma pesquisada aqui no fórum "browse ado".