Recordset ADO no objeto Grid.

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Recordset ADO no objeto Grid.

Mensagem 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.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Recordset ADO no objeto Grid.

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Recordset ADO no objeto Grid.

Mensagem 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.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Recordset ADO no objeto Grid.

Mensagem 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".
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder