Aracılığıyla paylaş


SQLGetDescField

The SQL Server Native Client ODBC driver exposes driver-specific descriptor fields for the implementation row descriptor (IRD) only.IRD içinde SQL Server açıklayıcı alanlar başvuru yoluyla sürücüye özgü sütun öznitelikleri.Kullanılabilir sürücüye özgü tanımlayıcısı alanları eksiksiz listesi hakkında bilgi için bkz: SQLColAttribute.

İçeren sütun tanımlayıcı dize tanımlayıcısı genellikle sıfır uzunluklu dizeler alanlardır.Tüm SQL Server-salt okunur alan değerlerini belirli tanımlayıcısı.

Öznitelikleri ile alınan gibi SQLColAttribute, açıklayıcı alanlar, rapor satır düzey niteliklerini (sözgelimi, SQL_CA_SS_COMPUTE_ID) bildirilen tüm sütunların sonuç küme.

SQLGetDescField ve tablo değerli parametreleri

SQLGetDescField Tablo değerli parametreleri ve tablo değerli parametresi sütunları için genişletilmiş öznitelikleri değerleri almak için kullanılır.Tablo değerli parametreleri hakkında daha fazla bilgi için bkz: Tablo değerli parametreleri (odbc).

Gelişmiş tarih ve saat özellikleri için 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 veri.

Daha fazla bilgi için bkz: Tarih/saat (odbc) geliştirmeleri.

Büyük 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).

Seyrek sütunlar için SQLGetDescField desteği

SQLGetDescFieldYeni bir sütun olup olmadığını belirlemek için SQL_CA_SS_IS_COLUMN_SET IRD alan sorgulamak için kullanılan 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);
    }

Ayrıca bkz.

Kavramlar

Diğer Kaynaklar