ADO não funciona o RecordCount()?
ADO não funciona o RecordCount()?
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
****************************************************
****************************************************
#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
****************************************************
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: ADO não funciona o RecordCount()?
From the MSDN:
"The returned Recordset object is always a read-only, forward-only cursor."
Use recordsets instead of connections:
EMG
"The returned Recordset object is always a read-only, forward-only cursor."
Use recordsets instead of connections:
Code: Select all | Expand
#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
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Code: Select all | Expand
#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
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
-
- Posts: 78
- Joined: Fri Dec 02, 2005 6:55 pm
- Location: brazil