2011-11-07 54 views
-1

我的C程序有一個嵌入式sql查詢。該程序在Windows上運行並查詢Oracle數據庫。 該查詢與EXEC SQL SELECT類似... 我需要在此處添加一個檢查以瞭解查詢是否返回零行。在選擇查詢中檢查零行

基本上我想設置本地valiable知道我的查詢返回行和 相應處理這種情況。

我怎樣才能添加。我知道可以使用EXISTS語句。但我沒有得到 如何在嵌入式SQL中使用它。

感謝您的任何幫助。

+2

顯示C代碼使用的是捕獲查詢的結果。 – arb

回答

0

使用SELECT COUNT(*) FROM ...和比較結果爲0。

1

使用SQLCA結構

EXEC SQL include "sqlca.h" 
#define NO_ROWS_FOUND (sqlca.sqlcode==1403) 
EXEC SQL BEGIN DECLARE SECTION; 
    int val=0; 
    short ind=0; 
EXEC SQL END DECLARE SECTION; 

EXEC SQL 
    select value 
    int :val :ind 
     from mytable where rownum=1; 
if(NO_ROWS_FOUND) 
    printf("No rows found\n"); 
+0

謝謝。這有所幫助。 – irappa