Clipper On Line • Ver Tópico - Propriedade/Comandos ADO

Propriedade/Comandos ADO

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Propriedade/Comandos ADO

Mensagempor vianeimoreira » 20 Abr 2017 17:10

Olá pessoal, gostaria de saber onde consigo os comandos e propriedades para usar conexão ADO, estou tendo muita dificuldade nos comandos por exemplo gostaria de retornar a quantidade de registros de um select mas não consigo de jeito nenhum.

Alguns já sei como :Eof(), :Bof(), MoveNext(), estes mais comuns, mas se tivesse uma lista completa ajudaria, estou usando da seguinte forma:

Try
CNN:=CreateObject("ADODB.Connection")
CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=.\saeinfo.fdb;CHARSET=WIN1252;DIALECT=3")
Catch e
Error Connection CNN
ExitProcess(0)
End

cSql := "Select * From Alunos Where Codigo >= 1 Order By Codigo"
Try
oQuery:=CNN:Execute( cSql )
Catch e
Error Connection CNN
Return
End
nContador := 0
Do While !oQuery:Eof()
cCodAluno := StrZero( oQuery:Fields["Codigo"]:Value,5 )
oQuery:MoveNext()
nContador++
EndDo
oQuery:Close()

Ai como eu estou pegando os dados até o final Eof() estou colocando um contador, mas preciso em algumas situações só o resoltado sem passar registro a registro entende...

No PostGreeSql eu uso tipo oQuery:Lastrec() m resulta o total de linhas do solicitação Select Mas através do ADO estou com muita dificuldade pois preciso migrar um BD Firebird ou seja pegar informações do mesmo... Valeu..

Uso Minigui Extended última versão

Att.,

Vianei Moreira de Lemos
vianeimoreira
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 15
Data de registro: 02 Jun 2006 10:53
Cidade/Estado: Campo Grande/MS
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Propriedade/Comandos ADO

Mensagempor alxsts » 20 Abr 2017 19:05

Olá!

Você pode aprender lendo os tutoriais da W3Schools, começando por ADO Introduction. O material está escrito em Inglês. Se tiver dificuldades com isso, clique no ícone que mostra um globo terrestre no canto direito da barra superior de menus e selecione o idioma Português.

No menu da lateral esquerda da página do site, estão listados os objetos do ADO. Ao fim das descrições de cada objeto, exite um link com o texto "View all methods and properties of the xxxxxxxxxx object.", onde xxxxxxxxx representa o objeto que está sendo exibido.

Os exemplos estão no velho ASP mas as propriedades dos objetos são as mesmas que se pode usar em Harbour. Basta trocar o ponto que separa os nomes dos objetos dos nomes das propriedades por dois pontos, padrão do xBase. Como exemplo, veja a propriedade do objeto RecordSet que retorna a quantidade de registros retornados (.RecordCount no Visual Basic e :RecordCount no Harbour ou xHarbour):
#include "ado.ch"
#include "set.ch"

PROCEDURE Main()

   LOCAL oCn, oRs, oErr, aRs, cSql

   Try
      Set( _SET_DATEFORMAT, "dd/mm/yyyy" )

      oCn := CreateObject( "ADODB.Connection" )

      // SQL Server 2008 R2
      oCn:ConnectionString := "Provider=SQLNCLI10;Server=999.16.30.8;Database=MyDb;UID=MyUID;Pwd=MyPWD;"

      oCn:Open()

      oRs := CreateObject("ADODB.RecordSet")

      cSql := "SELECT idOrder, Convert(Char(10), dtOrder,103) dtOrder, vlTotalOrder / 100 vlTotalOrder FROM tbOrder ORDER BY idOrder"

      oRs := oCn:Execute( cSql )

      With oRs

         :moveFirst()
         
         If ! :Eof()
            Hb_Alert( :RecordCount )   /// === retorna a quantidade de registros === ///
         Else
            Hb_Alert( "Nenhum Registro encontrado" )
         Endif
      End With

   Catch
      Hb_Alert( "Error: " + oErr:Operation + " -> " + oErr:Description )
   Finally
      If oCn:state = adStateOpen
         oCn:close
      Endif

      If oRs:state = adStateOpen
         oRs:close
      Endif

      oCn := NIL
      oRs := NIL
   End

   RETURN NIL
//-----------------------------------------------------------------------


Lembre-se que a tecnologia ADO só funciona na plataforma Windows.

ADOObjectProperties
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Propriedade/Comandos ADO

Mensagempor JoséQuintas » 20 Abr 2017 20:56

Vianei Moreira, está confundindo.

ADO tem a conexão, óbvio usada pra conectar, e o recordset que é o retorno.

No google, ADO Connection pra um, e ADO Recordset pra outro.

https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/recordset-object-properties-methods-and-events

Só a título de curiosidade: lembra no Clipper/Dbase? era RecCount(), no ADO é RecordCount()

Mas o ideal é mesmo fazer a consulta na base: SELECT COUNT(*) AS QTD FROM ...
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: 18149
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 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