Stephen Davies wrote:
> Hello again.
>
> Does the SQLPrimaryKeys facility work with 6.3.2 and ODBC 6.30.0249?
>
> If so, could someone please send me the declaration and a sample of usage.
>
> If not, how else can I determine which columns comprise a unique key of a
> PostgreSQL table via ODBC?
>
> (I can successfully access other functions such as SQLColumns. It is just
> SQLPrimaryKeys that is causing me grief at the moment.)
>
It should work. I have used it and I tested it with applications such as Visio. Did you get an
error or something?
Here is a test usage to get the primary keys of the "t1" table:
result = SQLAllocStmt( self, &hstmt1);
result = SQLPrimaryKeys(hstmt1, NULL, 0, NULL, 0, "t1", SQL_NTS);
result = SQLBindCol(hstmt1, 3, SQL_C_CHAR, pktab, sizeof(pktab), &pktab_len);
result = SQLBindCol(hstmt1, 4, SQL_C_CHAR, pkcol, sizeof(pkcol), &pkcol_len);
result = SQLBindCol(hstmt1, 5, SQL_C_SHORT, &seq, 0, NULL);
result = SQLFetch(hstmt1);
while (result != SQL_NO_DATA_FOUND) {
qlog("fetch on stmt1: result = %d, pktab='%s', pkcol='%s', seq=%d\n",
result, pktab, pkcol, seq);
result = SQLFetch(hstmt1);
}