BUG: dbcursorcolinfo() Returns Invalid Column Types

Last reviewed: April 28, 1997
Article ID: Q105365

The information in this article applies to:
  • Microsoft SQL Server Programmer's Toolkit, version 4.2
BUG# 9460 (4.2)

SYMPTOMS

When using dbcursorcolinfo() to determine the column type of a cursored results set, unexpected values are returned for the column type. These values do not correspond with the column types returned by calling dbcolinfo() to determine column type in a non-cursored results set.

CAUSE

The DB-Library function dbcursorcolinfo() returns the column type stored in syscolumns rather than the column types documented for dbcolinfo().

STATUS

Microsoft has confirmed this to be a problem in DB-Library version 4.20.00. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

The following table shows the column type returned by dbcolinfo() and by dbcursorcolinfo() when the column is NOT NULL or NULL.

Datatype         dbcolinfo()       cursored (NOT NULL)   cursored (NULL)
binary           SQLBINARY         SQLBINARY             SQLVARBINARY
bit              SQLBIT            SQLBIT                N/A
char             SQLCHAR           SQLCHAR               SQLVARCHAR
datetime         SQLDATETIME       SQLDATETIME           SQLDATETMIN
float            SQLFLT8           SQLFLT8               SQLFLTN
image            SQLIMAGE          SQLIMAGE              SQLIMAGE
int              SQLINT4           SQLINT4               SQLINTN
money            SQLMONEY          SQLMONEY              SQLMONEYN
real             SQLFLT4           SQLFLT4               SQLFLTN
smalldatetime    SQLDATETIM4       SQLDATETIM4           SQLDATETIMN
smallint         SQLINT2           SQLINT2               SQLINTN
smallmoney       SQLMONEY4         SQLMONEY4             SQLMONEYN
text             SQLTEXT           SQLTEXT               SQL TEXT
timestamp        SQLBINARY         SQLVARBINARY          SQLVARBINARY
tinyint          SQLINT1           SQLINT1               SQLINTN
varbinary        SQLBINARY         SQLVARBINARY          SQLVARBINARY
varchar          SQLCHAR           SQLVARCHAR            SQLVARCHAR

Returned column types such as SQLVARCHAR should be translated to the expected return type of dbcolinfo(). Using these values to identify data types in functions such as dbconvert() can cause errors.


Additional query words: DB-Lib datatype dblib
Keywords : kbbug4.20 kbprg SSrvDB_Lib SSrvProg
Version : 4.2 | 4.2 | 4.2
Platform : MS-DOS OS/2 WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.