proC--sqlca.sqlcode

如果一個 SQL 語句發生了錯誤,那麼 sqlca.sqlcode 將是非零值。
如果 sqlca.sqlcode 小於 0 那麼就是發生了某種嚴重的錯誤,象數據庫定義與查詢定義不一致等.
如果大於 0 則是通常的錯誤,象表不包括所要求的行等.

sqlca.sqlcode == 0,成功
sqlca.sqlcode == -1 失敗 (獲取具體失敗信息:messagebox('',"出錯信息:"+sqlca.SQLErrText) )--PB裏的操作方法
可能發生的錯誤列表:
-12, Out of memory in line %d. 
通常不出現這個錯誤。這是你的虛擬內存耗盡的標誌。 
-200, Unsupported type %s on line %d. 
通常不出現這個錯誤.這表明預編譯器生成了一些庫(函數)不認得的東西.可能你運行的預編譯器和當前庫不兼容. 
-201, Too many arguments line %d. 
這意味着 Postgres 返回了比我們的匹配變量更多的參數.可能你漏了幾個INTO :var1,:var2-列表裏的宿主變量. 
-202, Too few arguments line %d. 
這意味着 Postgres 返回了比我們的對應宿主變量要少的參數.可能你多輸入了幾個INTO :var1,:var2-列表裏的宿主變量. 
-203, Too many matches line %d. 
着意味着查詢返回了多個行,但你聲明的變量不是數組.你執行的 SELECT 可能不是唯一的. 
-204, Not correctly formatted int type: %s line %d. 
着意味着宿主變量是一個 int 類型並且 Postgres 數據庫裏的字段是另一種類型,包含着一個不能轉換成一個 int 類型的數值.庫(函數)使用 strtol 做此類轉換. 
-205, Not correctly formatted unsigned type: %s line %d. 
着意味着宿主變量是一個 unsigned int(無符號整數)類型而Postgres 數據庫裏的字段是另外一種類型並且包含一個不能轉換成unsigned int 的數值.庫(函數)使用 strtoul 做這類轉換. 
-206, Not correctly formatted floating point type: %s line %d. 
着意味着宿主變量是一個 float (浮點)類型而 Postgres 數據庫裏的字段是另外一種類型並且包含一個不能轉換成 float 的數值.庫(函數)使用 strtod 做這類轉換. 
-207, Unable to convert %s to bool on line %d. 
這意味着宿主變量是一個 bool (布爾)類型,而 Postgres 數據庫裏的字段值既不是 't' 也不是 'f'。 
-208, Empty query line %d. 
Postgres 返回 PGRES_EMPTY_QUERY,可能的原因是該查詢實際上是空的。 
-220, No such connection %s in line %d. 
程序試圖訪問一個不存在的聯接。 
-221, Not connected in line %d. 
程序試圖訪問一個存在的,但是沒有打開的聯接。 
-230, Invalid statement name %s in line %d. 
你試圖使用的語句還沒準備好。 
-400, Postgres error: %s line %d. 
某種 Postgres 錯誤。該消息包含來自 Postgres 後端的信息。 
-401, Error in transaction processing line %d. 
Postgres 給我們的信號,表明我們無法開始,提交或者回卷該事務。 
-402, connect: could not open database %s. 
與數據庫的聯接無法工作。 
sqlca.sqlcode == 100, Data not found line %d. 
這是一個"正常的"錯誤,告訴你你正在查詢的東西找不到或者我們已經越過了遊標的範圍。
發佈了19 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章