Clipper On Line • Ver Tópico - Brincando com ADO

Brincando com ADO

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Brincando com ADO

Mensagempor JoséQuintas » 18 Nov 2019 00:26

Pra quem quiser brincar com ADO....

#define AD_BIGINT                       20
#define AD_DATE                         7
#define AD_DOUBLE                       5
#define AD_VARCHAR                      200
#define AD_LONGVARCHAR                  201

#define AD_FLD_KEYCOLUMN                0x8000
#define AD_FLD_ISNULLABLE               0x20
#define AD_FLD_MAYBENULL                0x40
#define AD_FLD_UPDATABLE                0x4

ADOCreate( aStru )

   LOCAL oADO, oElement

   oADO := win_OleCreateObject( "ADODB.Recordset" )
   FOR EACH oElement IN aStru
      DO CASE
      CASE oElement[ DBS_TYPE ] == "I"
         oADO:Fields:Append( oElement[ DBS_NAME ], AD_BIGINT, oElement[ DBS_LEN ], AD_FLD_KEYCOLUMN )
      CASE oElement[ DBS_TYPE ] == "N"
         IF oElement[ DBS_DEC ] == 0
            oADO:Fields:Append( oElement[ DBS_NAME], AD_BIGINT, oElement[ DBS_LEN ] )
         ELSE
            oADO:Fields:Append( oElement[ DBS_NAME ], AD_DOUBLE, oElement[ DBS_LEN ] )
            oADO:Fields( oElement[ DBS_NAME ] ):NumericScale := oElement[ DBS_DEC ]
         ENDIF
      CASE oElement[ DBS_TYPE ] == "C"
         oADO:Fields:Append( oElement[ DBS_NAME ], AD_VARCHAR, oElement[ DBS_LEN ] )
      CASE oElement[ DBS_TYPE ] == "D"
         oADO:Fields:Append( oElement[ DBS_NAME ], AD_DATE )
      CASE oElement[ DBS_TYPE ] == "M"
         oADO:Fields:Append( oElement[ DBS_NAME ], AD_LONGVARCHAR )
      ENDCASE
   NEXT

   RETURN oADO


Converter de DBF pra ADO, e mostrar:

USE arquivo
oADO := ADOCreate( dbStruct() )
oADO:Open()
DO WHILE ! Eof()
   oADO:AddNew()
   FOR nCont = 1 TO FCount()
      oADO:Fields( FieldName( nCont ) ):Value := FIeldGet( nCont )
   NEXT
   SKIP
ENDDO
CLOSE DATABASES
oADO:Save( "arquivo.ado" )

oADO:Open( "arquivo.ado" )
DO WHILE ! oADO:Eof()
   ? oADO:Fields( 0 ):Value, oADO:Fields( 1 ):Value, oADO:Fields( 2 ):Value
   oADO:MoveNext()
ENDDO
oADO:Close()


Podem brincar com o browse mostrado no outro tópico.
http://www.pctoledo.com.br/forum/viewtopic.php?f=45&t=15328

Neste caso é ADO puro, sem qualquer banco de dados.
Dá pra fazer pesquisa, filtro, browse, etc.

Talvez até dê pra usar os recordsets do ADO em geradores de relatório.... quem sabe...
Ou transferir entre aplicativos, ou sei lá mais o que...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Brincando com ADO

Mensagempor JoséQuintas » 18 Nov 2019 00:28

Faltou dizer:

o que precisa: nenhuma LIB, somente o Windows mesmo
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Brincando com ADO

Mensagempor JoséQuintas » 18 Nov 2019 00:37

Depois podem criar a prova, um arquivo texto com final VBS contendo VBScript.

vbscript.png


Ou HTML com VBScript, ou outra coisa.

Isso prova duas coisas:
Que o arquivo anterior foi gravado
Que ADO faz parte do Windows, por isso não precisa instalar nada
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Brincando com ADO

Mensagempor JoséQuintas » 18 Nov 2019 01:18

Pra curiosidade:

ado.png
ado.png (6.68 KiB) Visualizado 2580 vezes


É apenas pra curiosidade.
Não substitui o DBF. (eu acho)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 21 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro