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.
Moderador: Moderadores
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Recordset ADO no objeto Grid.
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.
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/
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/
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Recordset ADO no objeto Grid.
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.
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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Recordset ADO no objeto Grid.
Pois é.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.
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 } }
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/
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/