====== adoFieldObject ======
===== Description =====
When the [[v5:dictionary:metacolumns]] method is executed by ADOdb, the data retrieved is placed in an array of adoFieldObjects. This is a class based around the following format:
class ADOFieldObject {
var $name = '';
var $max_length = 0;
var $type="";
}
Individual databases may extend the object, but the basic information is as follows:
^Field^Description^
^name|The name of the field in the database|
^max_length|The meaning of this field varies, based on the type of the field|
^type|The type of the field as described by the database. In order to retrieve the portable type this value must be sent to the [[v5:dictionary:metatype]] method, and the return value used.|
===== Sample Of Program To Retrieve ADOFieldObjects =====
$SQL = "SELECT * FROM some_table";
$f = $db->Execute($SQL);
$cols = $f->fieldCount();
for($i=0;$i<$cols;$i++){
$fld = $f->FetchField($i);
print_r($fld);
}
===== Examples =====
==== SQL Server ====
ADOFieldObject Object
(
[name] => Freight
[max_length] =>
[column_source] => Freight
[type] => decimal
)
ADOFieldObject Object
(
[name] => ShipName
[max_length] => 40
[column_source] => ShipName
[type] => nvarchar
)
==== IBM DB2 ====
ADOFieldObject Object
(
[name] => ACTNO
[max_length] => 6
[type] => int
)
ADOFieldObject Object
(
[name] => ACTKWD
[max_length] => 6
[type] => string
)
==== MySQL ====
Note that before ADOdb Version 5.21, MySQL did not return an ADOfieldObject object.
stdClass Object
(
[name] => Code
[orgname] => Code
[table] => country
[orgtable] => country
[def] =>
[db] => world
[catalog] => def
[max_length] => 3
[length] => 9
[charsetnr] => 33
[flags] => 16387
[type] => 254
[decimals] => 0
[primary_key] => 2
[not_null] => 1
[auto_increment] => 0
[binary] => 0
[unsigned] => 0
)
===== Sqlite =====
ADOFieldObject Object
(
[name] => COL1
[max_length] => 32
[type] => VARCHAR
[not_null] => 1
[default_value] => 'abc'
[scale] => 0
)
ADOFieldObject Object
(
[name] => COL2
[max_length] => 10
[type] => DECIMAL
[not_null] => 0
[default_value] => 0
[scale] => 0
)
ADOFieldObject Object
(
[name] => COL3
[max_length] => 12,2
[type] => DECIMAL
[not_null] => 0
[default_value] =>
[scale] => 0
)