## BUG: dbcursorcolinfo() Returns Invalid Column Types

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 : kbprogramming
Issue type :
Technology : kbSQLServSearch kbAudDeveloper kbSQLServPTK420

Last Reviewed: March 18, 1999 © 2001 Microsoft Corporation. All rights reserved. Terms of Use.