Hello
I am working on a project that access databases through ADO
over ODBC and must now include PostgreSQL.
The code of this project needs to know about the fields
caracteristics like whether or not it is:
- a primary key
- an autoincrement key
- nullabble
- updatable
- etc..
For this I use the ADO properties that give theses
informations.
For a Jet database I get (for example):
serialkey
Type = adInteger
DefinedSize = 4
Precision = 10
NumericScale = 255
Status = adRecOK
Attributes = adFldFixed
Properties (9)
BASECATALOGNAME (adVarWChar) = (Null)
BASECOLUMNNAME (adVarWChar) = serialkey
BASESCHEMANAME (adVarWChar) = (Null)
BASETABLENAME (adVarWChar) = genericfields
CALCULATIONINFO (adVarBinary) = (Null)
ISAUTOINCREMENT (adBoolean) = True
KEYCOLUMN (adBoolean) = True
OPTIMIZE (adBoolean) = False
RELATIONCONDITIONS (adVarBinary) = (Null)
However, with PostgreSQL 8.0.3 (psqlodc 08.00.0102), I don't get what is expected.
When I declare le serialkey field as as SERIAL PRIMARY KEY, instead of the expected result, I get:
serialkey
Type = adInteger
DefinedSize = 4
Precision = 10
NumericScale = 255
Status = adRecOK
Attributes = adFldUnknownUpdatable, adFldFixed, adFldIsNullable, adFldMayBeNull
Properties (9)
BASECATALOGNAME (adVarWChar) = (Null)
BASECOLUMNNAME (adVarWChar) = serialkey
BASESCHEMANAME (adVarWChar) = (Null)
BASETABLENAME (adVarWChar) = genericfields
CALCULATIONINFO (adVarBinary) = (Null)
ISAUTOINCREMENT (adBoolean) = False
KEYCOLUMN (adBoolean) = True
OPTIMIZE (adBoolean) = False
RELATIONCONDITIONS (adVarBinary) = (Null)
Where both:
- Attributes
- ISAUTOINCREMENT
Are not correct since serialkey is a non nullable serial key
Would you have any idea on this problem ?
And any help to get the right values ?
Best regards
_____________________________________________________________
Obtenez aussi votre adresse electronique gratuite de
Quebecemail.com http://www.quebecemail.com, un service gratuit et permanent.