Aracılığıyla paylaş


SQLGetDescField

The SQL Server Native istemci ODBC driver exposes driver-specific descriptor fields for the implementation row descriptor (IRD) only. Içinde IRD, SQL Server Tanımlayıcı alanları, sürücüye özgü sütun öznitelikleri ile başvurulur. Kullanılabilir özel sürücü tanımlayıcı alanları tam bir listesi hakkında bilgi için bkz: SQLColAttribute.

Sütun tanıtıcısı dizeleri içeren tanımlayıcısı genellikle sıfır uzunluklu dizeler alanlardır.Tümü SQL Server-Özel tanımlayıcı alan değerlerini okumak - yalnızca.

Öznitelikleri gibi ile alınan SQLColAttribute, satır düzey özniteliklerini (örneğin, SQL_CA_SS_COMPUTE_ID) rapor tanımlayıcısı alanları, sonuç kümesindeki tüm sütunlar için raporlanır.

SQLGetDescField ve tablo biçiminde parametreleri

SQLGetDescField tablo değerli parametreleri ve tablo değerli parametre sütunları genişletilmiş özniteliklerinin değerleri almak için kullanılır.Tablo değerli parametreleri hakkında daha fazla bilgi için bkz: Tablo biçiminde Parametreler (ODBC).

Gelişmiş tarih ve saat özellikleri SQLGetDescField desteği

Yeni tarih veya saat türleriyle tanımlayıcısı alanları hakkında ek bilgi için bkz: Parametre ve sonucu meta veriler.

Daha fazla bilgi için bkz:Geliştirmeler'nı (ODBC) tarih/saat.

Büyük bir CLR UDTs SQLGetDescField desteği

SQLGetDescField büyük CLR kullanıcı tanımlı türler (UDTs) destekler.Daha fazla bilgi için bkz:Büyük CLR kullanıcı tanımlı türler (ODBC).

SQLGetDescField desteği ve seyrek sütunlar

SQLGetDescField Yeni bir sütun olup olmadığını belirlemek için SQL_CA_SS_IS_COLUMN_SET IRD alan sorgulamak için kullanılabilir bir column_set sütun.

Daha fazla bilgi için bkz:Seyrek sütunlar destek (ODBC).

Örnek

typedef struct tagCOMPUTEBYLIST
    {
    SQLSMALLINT nBys;
    SQLSMALLINT aByList[1];
    } COMPUTEBYLIST;
typedef COMPUTEBYLIST* PCOMPUTEBYLIST; 

SQLHDESC    hIRD; 
SQLINTEGER  cbIRD; 
SQLINTEGER  nSet = 0; 

// . . .
// Execute a statement that contains a COMPUTE clause,
//  then get the descriptor handle of the IRD and
//  get some IRD values.

SQLGetStmtAttr(g_hStmt, SQL_ATTR_IMP_ROW_DESC,
    (SQLPOINTER) &hIRD, sizeof(SQLHDESC), &cbIRD);

// For statement-wide column attributes, any
//  descriptor record will do. You know that 1 exists,
//  so use it.
SQLGetDescField(hIRD, 1, SQL_CA_SS_NUM_COMPUTES,
    (SQLPOINTER) &nComputes, SQL_IS_INTEGER, &cbIRD);

if (nSet == 0)
    {
    SQLINTEGER      nOrderID;

    printf_s("Normal result set.\n");

    for (nCol = 0; nCol < nCols; nCol++)
        {
        SQLGetDescField(hIRD, nCol+1,
            SQL_CA_SS_COLUMN_ORDER,
            (SQLPOINTER) &nOrderID, SQL_IS_INTEGER,
            &cbIRD);

        if (nOrderID != 0)
            {
            printf_s("Col in ORDER BY, pos: %ld",
                nOrderID);
            }
            printf_s("\n");
        }

    printf_s("\n");
    }
else
    {
    PCOMPUTEBYLIST  pByList;
    SQLSMALLINT     nBy;
    SQLINTEGER      nColID;

    printf_s("Computed result set number: %lu\n",
        nSet);

    SQLGetDescField(hIRD, 1, SQL_CA_SS_COMPUTE_BYLIST,
        (SQLPOINTER) &pByList, SQL_IS_INTEGER,
        &cbIRD);

    if (pByList != NULL)
        {
        printf_s("Clause ordered by columns: ");
        for (nBy = 0; nBy < pByList->nBys; )
            {
            printf_s("%u", pByList->aByList[nBy]);
            nBy++;

            if (nBy == pByList->nBys)
                {
                printf_s("\n");
                }
            else
                {
                printf_s(", ");
                }
            }
        }
    else
        {
        printf_s("Compute clause set not ordered.\n");
        }

    for (nCol = 0; nCol < nCols; nCol++)
        {
        SQLGetDescField(hIRD, nCol+1,
            SQL_CA_SS_COLUMN_ID, (SQLPOINTER) &nColID,
            SQL_IS_INTEGER, &cbIRD);
        printf_s("ColumnID: %lu, nColID);
        }
    printf_s("\n");
    }

if (SQLMoreResults(g_hStmt) == SQL_SUCCESS)
    {
    // Determine the result set indicator.
    SQLGetDescField(hIRD, 1, SQL_CA_SS_COMPUTE_ID,
        (SQLPOINTER) &nSet, SQL_IS_INTEGER, &cbIRD);
    }

See Also

Concepts

Other Resources