Posted on 2006-03-08 19:55
天涯浪子 閱讀(775)
評論(0) 編輯 收藏 引用 所屬分類:
(二)C++高級部分——Pro*C部分
前面介紹的變量只能進行單個數據的操作,若所用的SQL語句的輸出結果有許多時,這時候就
可以用數組變量來存取.
1.注意事項:
(1)Pro*C只支持一維數組,但char類型除外,它可以支持二維數組.
(2)Pro*C不支持數組指針.
(3)Pro*C所支持的最大維數是32767.
2.數組變量的聲明也聲明成宿主變量的形式.如:
EXEC SQL BEGIN DECLARE SECTION
char pwd[50];
char v_name[100];
EXEC SQL END DECLARE SECTION
3.如何在SQL語句中使用數組變量?
只需要給出:和變量名稱,不要個下標.通過SQL語句查出的數據會自動排列.
EXEC SQL BEGIN DECLARE SECTION;
char pwd[ 30 ] ;
char v_l_name[ 100 ] ;
short ind_l_name ;
EXEC SQL END DECLARE SECTION;
................................
................................
EXEC SQL select last_name
INTO :v_l_name :ind_l_name
from emp
where id=1 ;
以下的例子是錯誤的 :
for(int i=0;i<100;i++)
{
EXEC SQL select last_name
INTO :v_l_name[i] :ind_l_name[i]
from emp
where id=1 ;
}
4.指示變量也可以定義成數組,但元素數應大于或等于數組變量數.如下例子:
EXEC SQL BEGIN DECLARE SECTION;
int emp_number[100];
short ind_emp_number[100];//此處的指示變量數不能少于數組變量數.
char emp_name[100][15];
EXEC SQL END DECLARE SECTION;