A5_ADO_TO_ARRAY Function
Syntax
Arguments
- Info
Pointer
- Component
- Description
- .CurrentPage
The number of the page containing the current record.
- .RecordsPerPage
The number of records per page as specified by DO.Rows.
- .TotalPages
The number of pages required to return all records.
- .TotalRecords
The number of records returned.
- ado
Pointer
- Component
- Description
- .Type
Default = "Access". Valid values are: "Access" = Microsoft Access .MDB database "ConnectionString" = all other database types
- .LockType
Default = 3.
- .CursorType
Default = 1.
- .MdbFileName
The filename of the Access database. Required if ADO. Type = "Access"
- .ConnectionString
The connection string. Required if ADO. Type = "connectionString"
- .SQL
SQL SELECT statement.
- do
Pointer
- Component
- Description
- .Rows
Default = 10. The number of rows per page. Set to 0 to return all rows.
- .Page
Default = 1. The number of pages to return.
- .MaxRows
Default = 1000. The maximum number of rows to return if ADO.Rows is set to 0.
Description
Takes an Access .mdb file, or an ADO Connection string and loads the data into an array. (For help on parameters, call with "ado.Help" set to "Yes".)
Discussion
The A5_ADO_TO_ARRAY() function retrieves records from an ADO compliant database and populates an array.
Example
This example selects all records from the Customers table of the Microsoft Access Northwind Traders sample database.
dim ado as P dim do as P dim global ret as P ado.mdbfilename = "c:\databases\nwind\nwind_2002.mdb" ado.sql = "SELECT * FROM Customers;" ret = a5_ado_to_array(ado, do)
If we look at the ret dot variable, we see four major sections.
? ret = +array. +error. +fields. +info.
The ret.info section provides information about what we retrieved.
? ret.info = CurrentPage = 1.000000 RecordsPerPage = 10.000000 TotalPages = 9.000000 TotalRecords = 91.000000
The ret.error section contains an indication of whether there is an error and an error message.
? ret.error = ErrorText = "" HasError = .F.
The ret.fields section contains information about the fields of the table.
? ret.fields.fieldarray = +1. +2. +3. +4. +5. +6. +7. +8. +9. +10. +11. ? ret.fields.fieldarray1.name = "CustomerID"
The ret.array section contains the record data that was passed returned from the database.
? ret.array.row = +1. +2. +3. +4. +5. +6. +7. +8. +9. +10. ? ret.array.row1.data2.initial = "Alfreds Futterkiste"
To read all the data in the array, you would have code structured as follows.
ret = a5_ado_to_array(ado,do) for i = 1 to do.rows for j = 1 to ret.fields.fieldarray.size() data = ret.array.rowi.dataj.initial next j next i
See Also