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