Share via


應用程式變數

應用程式發展語言 (例如 C、C++、Basic 和 Java) 會使用變數來保存資料。變數是可保存資料值的儲存區。每個應用程式變數都有資料類型和大小。數值變數也可以具有有效位數 (變數可以保存的位數) 和小數位數 (要放在小數點右邊的位數)。

若要讓應用程式可以使用 Transact-SQL 陳述式傳回的資料,就必須具備將 Transact-SQL 資料移入應用程式變數的機制。在資料庫 API 的支援下,能將 Transact-SQL 陳述式中的結果集資料行、參數、傳回碼或參數標記繫結至應用程式變數。

應用程式透過類似以下的處理 (Process) 來擷取結果集內的資料:

  1. 執行 Transact-SQL 陳述式。

  2. 呼叫資料庫 API 函數,瞭解結果集中的資料行數目。

  3. 應用程式針對每個結果集資料行:

    • 呼叫傳回資料行之屬性、資料類別大小等等的資料庫 API 函數。

    • 以相容於資料行屬性的屬性配置應用程式變數。

    • 呼叫資料庫 API 函數將結果集資料行與應用程式變數相繫結或對應。

  4. 使用資料庫 API 函數一次擷取結果集資料列中的一個資料列。每回擷取時,每個結果集資料行的值會置入繫結至資料行的應用程式變數內。

應用程式可以改變這個程序。例如,如果應用程式正針對已知資料表執行硬式編碼的 Transact-SQL 陳述式,則結果集資料行的屬性事先已知,且應用程式不需要呼叫資料庫 API 來取得這些屬性。

如果應用程式將結果集資料行繫結至應用程式變數,但是此變數的資料類型與關聯的資料庫物件不同,此時 OLE DB 提供者或 ODBC 驅動程式必須轉換該資料。例如,假若應用程式將 money 資料行繫結至字元陣列 (Character Array),則 OLE DB provider 或 ODBC 驅動程式必須將 money 資料轉換為字元字串。Microsoft OLE DB Provider for SQL Server 和 SQL Server ODBC 驅動程式的文件集定義支援的資料類型轉換。

如需擷取應用程式中參數和傳回碼的詳細資訊,請參閱<參數標記 (Database Engine)>。