ADO não funciona o RecordCount()?

Post Reply
User avatar
ronaldo
Posts: 137
Joined: Fri Nov 25, 2005 4:38 pm
Location: brasil
Contact:

ADO não funciona o RecordCount()?

Post by ronaldo »

Ola pessoal, estou trabalhando com o ADO para o ACCESS porem alguns comandos conforme relação abaixo não funciona! sabem porque?

****************************************************
#Include "Fivewin.ch"
Function Main()
LOCAL oDados, txSql
PRIVATE oCn := CREATEOBJECT( "ADODB.Connection" )

oCn:Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=venda.mdb" )
txSql := "SELECT * FROM imovweb; "
oDados := oCn:Execute( txSql)

oDados:MoveNext() -- Funciona
oDados:MoveFirst() -- NÃO Funciona
oDados:MoveLast() -- NÃO Funciona
oDados:RecordCount() -- NÃO Funciona
****************************************************
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: ADO não funciona o RecordCount()?

Post by Enrico Maria Giordano »

From the MSDN:

"The returned Recordset object is always a read-only, forward-only cursor."

Use recordsets instead of connections:

Code: Select all

#define adOpenForwardOnly 0
#define adOpenKeyset      1
#define adOpenDynamic     2
#define adOpenStatic      3

#define adLockReadOnly        1
#define adLockPessimistic     2
#define adLockOptimistic      3
#define adLockBatchOptimistic 4


FUNCTION MAIN()

    LOCAL oRs := CREATEOBJECT( "ADODB.Recordset" )

    oRs:Open( "SELECT * FROM Clienti", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=clienti.mdb", adOpenKeyset, adLockReadOnly )

    oRs:MoveLast()

    WHILE !oRs:EOF
        ? oRs:Fields( "Cliente" ):Value
        oRs:MoveNext()
    ENDDO

    oRs:Close()

    INKEY( 0 )

    RETURN NIL
EMG
User avatar
ronaldo
Posts: 137
Joined: Fri Nov 25, 2005 4:38 pm
Location: brasil
Contact:

Post by ronaldo »

Perfect!

Muito obrigado,
Ronaldo Minacapelli
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

Hi enrico..

Do you Know , Where Find Mtehods and DATA from this Class..


CREATEOBJECT( "ADODB.Recordset" )


Thanks
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

Thanks Enrico...

I´m Learn About ADO, But You Can Response Only Two Asks?


First ..

Using ADODB My Systems Are Compatible With win98 , winxp , win2003 ?

Second..

Using ADODB My Systems Required DATABASE registre in ODBC ?
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

1) WinXP and Win2003: yes. Win98: you will need to install Office or MSDE.

2) No.

EMG
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

Thanks Very Much Enrico.



Mauricio
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

EnricoMaria wrote:1) WinXP and Win2003: yes. Win98: you will need to install Office or MSDE.
Sorry, MDAC not MSDE.

EMG
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

Thanks Enrico AGAIN...

i´m modify TCBROWSE to ADO

How Get Field Names of Database Using ADO ?




thanks Mauricio
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Code: Select all

#define adOpenForwardOnly 0
#define adOpenKeyset      1
#define adOpenDynamic     2
#define adOpenStatic      3

#define adLockReadOnly        1
#define adLockPessimistic     2
#define adLockOptimistic      3
#define adLockBatchOptimistic 4


FUNCTION MAIN()

    LOCAL oCat

    LOCAL i, j

    oCat = CREATEOBJECT( "ADOX.Catalog" )

    oCat:ActiveConnection = "Provider=SQLOLEDB;Integrated Security=SSPI;Data Source=EMAG\Emag;Initial Catalog=Quadro"

    FOR i = 0 TO oCat:Tables:Count() - 1
        ? oCat:Tables( i ):Name
        ?

        FOR j = 0 TO oCat:Tables( i ):Columns:Count() - 1
            ? SPACE( 4 ) + oCat:Tables( i ):Columns( j ):Name
        NEXT

        ?
    NEXT

    RETURN NIL
EMG
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

Enrico ,

The Object Change ADO for ADOX because You are Using Extend ADO methods, Thats Right?


The Extende ADO methods are 100% compatible ?




thanks , AGAIN

mauricio
(brazil)
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

mauricioajordao wrote:Enrico ,

The Object Change ADO for ADOX because You are Using Extend ADO methods, Thats Right?


The Extende ADO methods are 100% compatible ?
Yes and yes.

EMG
mauricioajordao
Posts: 78
Joined: Fri Dec 02, 2005 6:55 pm
Location: brazil

Post by mauricioajordao »

THANKS AGAIN

MAURICIO
Post Reply