sqlca.h

 

 

 

 

SQLCA 字段  SQLCA 中的字段具有以下含義:  *sqlcaid8 字節字符字段,包含作爲 SQLCA 結構標識的字符串 SQLCA。在您查看內存內容時,該字段可幫助進行調試。  *sqlcabc包含 SQLCA 結構的長度(136 字節)的長型整數。  *sqlcode數據庫在請求上檢測到錯誤時,指定錯誤代碼的長整數。錯誤代碼的定義可在頭文件 sqlerr.h 中找到。成功操作的錯誤代碼是 0(零),正數表示警告,負數表示錯誤。  有關錯誤代碼的完整列表,請參見 ASA 錯誤消息。  *sqlerrmlsqlerrmc 字段中信息的長度。  *sqlerrmc要插入到錯誤消息中的零個或多個字符串。某些錯誤消息包含一個或多個佔位字符串(%1、%2、...),這些佔位字符串可替換爲此字段中的字符串。  例如,如果生成未找到表錯誤,則 sqlerrmc 包含表名,該表名要插入到錯誤消息中的適當位置。  有關錯誤消息的完整列表,請參見 ASA 錯誤消息。  *sqlerrp保留。  *sqlerrd長整數的實用程序數組。  *sqlwarn保留。  *sqlstateSQLSTATE 狀態值。除了以前標準中的 SQLCODE 值外,ANSI SQL 標準 (SQL-92) 還定義了 SQL 語句的一種新類型的返回值。SQLSTATE 值始終是一個由五個字符組成且以空值終止的字符串,它分爲雙字符類(前兩個字符)和三字符子類。每個字符都可以是從 0 到 9 的數字或從 A 到 Z 的大寫字母字符。  以 0 到 4 或 A 到 H 開頭的任何類或子類都是由 SQL 標準定義的,其它類和子類則是各實現自行定義的。SQLSTATE 值 '00000' 表示還沒有錯誤或警告。  有關更多的 SQLSTATE 值,請參見 ASA 錯誤消息。  sqlerror 數組  sqlerror 字段數組具有以下元素。  *[b]sqlerrd[1] (SQLIOCOUNT)[/b] 完成命令所需的實際輸入/輸出操作數。  數據庫執行每個命令之前不會清零。在執行一個命令序列之前,您的程序可以將此變量設置爲零。在最後一個命令執行之後,此數字是整個命令序列的輸入/輸出操作的總數。  *[b]sqlerrd[2] (SQLCOUNT)[/b] 此字段的值取決於要執行的語句。  o INSERT、UPDATE、PUT 和 DELETE 語句受語句影響的行數。  在遊標 OPEN 上,該字段由遊標中的實際行數(大於或等於 0 的值)或它的估計數(絕對值是估計數的負數)填充。如果數據庫服務器不統計該值即可計算出行數,則該值就是實際行數。也可以使用 ROW_COUNT 選項,將數據庫配置爲始終返回實際的行數。  o FETCH 遊標語句如果返回 SQLE_NOTFOUND 警告,則填充 SQLCOUNT 字段。它包含 FETCH RELATIVE 或 FETCH ABSOLUTE 語句超出可能的遊標位置(遊標可以位於某一行上、第一行之前或最後一行之後)範圍之外的行數。在寬讀取的情況下,SQLCOUNT 是實際讀取的行數,它小於或等於請求的行數。在寬讀取過程中,不 設置 SQLE_NOTFOUND。  有關寬讀取的詳細信息,請參見一次讀取多個行。  如果未找到行但位置有效,則值爲 0,例如,當定位在遊標的最後一行上時執行 FETCH RELATIVE 1。如果所嘗試的讀取超出了遊標的末尾,則爲正值;如果所嘗試的讀取位於遊標開頭的前面,則爲負值。  oGET DATA 語句SQLCOUNT 字段保存值的實際長度。  oDESCRIBE 語句在用於說明可能具有多個結果集的過程的 WITH VARIABLE RESULT 子句中,SQLCOUNT 設置爲以下值之一:  +0 結果集可能會有變化:在每個 OPEN 語句之後應再次說明過程調用。  +1 結果集是固定的。不需要再次進行說明。  在出現語法錯誤 SQLE_SYNTAX_ERROR 的情況下,此字段包含命令字符串內檢測到錯誤的大致字符位置。  *[b]sqlerrd[3] (SQLIOESTIMATE)[/b] 完成命令所需的輸入/輸出操作的估計數。在 OPEN 或 EXPLAIN 命令上將給此字段賦一個值。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章