exec sql begin declare section; /*主變數說明開始*/
char deptname[64];
char hsno[64];
char hsname[64];
char hs***[64];
int hsage;
int newage;
long sqlcode;
exec sql end declare section; /*主變數說明結束*/
exec sql include sqlca; /*定義sql通訊區*/
int main(void) /*c語言主程式開始*/
int count = 0;
char yn; /*變數yn代表yes或no*/
printf("please choose the department name(cs/ma/is): ");
scanf("%s", deptname); /*為主變數deptname賦值*/
exec sql connect to demin user
sa; /*連線資料庫test*/
exec sql declare sx cursor for /*定義游標*/
select sno, sname, s***, sage /*sx對應語句的執行結果*/
from student
where sdept = :deptname;
exec sql open sx; /*開啟游標sx便指向查詢結果的第一行*/
for ( ; ; ) /*用迴圈結構逐條處理結果集中的記錄*/
exec sql fetch sx into :hsno, :hsname, :hs***,:hsage;
/*推進游標,將當前資料放入主變數*/
if (sqlca->sqlcode != 0) /* sqlcode != 0,表示操作不成功*/
break; /*利用sqlca中的狀態資訊決定何時退出迴圈*/
if(count++ == 0) /*如果是第一行的話,先打出行頭*/
printf("\n%-10s %-20s %-10s %-10s\n", "sno", "sname", "s***", "sage");
printf("%-10s %-20s %-10s %-10d\n", hsno, hsname, hs***, hsage);
/*列印查詢結果*/
printf("update age(y/n)?"); /*詢問使用者是否要更新該學生的年齡*/
do /*對當前游標指向的學生年齡進行更新*/
exec sql close sx; /*關閉游標sx不再和查詢結果對應*/
exec sql commit work; /*提交更新*/
exec sql disconnect test; /*斷開資料庫連線*/
c語言解析sql語句 C語言中嵌入式SQL語句
實驗內容 掌握sql server 2000的預編譯程式nsqlprep.exe的使用 以課本例題1進行除錯 實驗步驟 一 資料庫環境配置 1 建立xuesheng資料庫,建立student表等 2 關閉sql server 2000服務管理器 3 將devtools資料夾拷貝到 c program...
c語言解析sql語句 C語言中嵌入式SQL語句
實驗內容 掌握sql server 2000的預編譯程式nsqlprep.exe的使用 以課本例題1進行除錯 實驗步驟 一 資料庫環境配置 1 建立xuesheng資料庫,建立student表等 2 關閉sql server 2000服務管理器 3 將devtools資料夾拷貝到 c program...
c語言解析sql語句 C語言中嵌入式SQL語句
實驗內容 掌握sql server 2000的預編譯程式nsqlprep.exe的使用 以課本例題1進行除錯 實驗步驟 一 資料庫環境配置 1 建立xuesheng資料庫,建立student表等 2 關閉sql server 2000服務管理器 3 將devtools資料夾拷貝到 c program...