数据库 proc编程七
生活随笔
收集整理的這篇文章主要介紹了
数据库 proc编程七
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlca.h"//定義char [20]數組類型
typedef char ChararrType[20];//oracle外部變量類型string類似varchar2類型,是以\0結尾的字符串
EXEC SQL BEGIN DECLARE SECTION;char *serverid="scott/123456@orcl";EXEC SQL TYPE ChararrType is string(20);//將宿主變量類型轉化成oracle外部變量類型,也可直接使用varchar2類型的宿主變量int ida1;int idb1;ChararrType name1;//這里的name1變量就是個數組變量short name1_ind;
EXEC SQL END DECLARE SECTION;//錯誤處理升級函數
void sqlerr()
{EXEC SQL WHENEVER SQLERROR CONTINUE;printf("err reason:%.*s\r\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);EXEC SQL ROLLBACK WORK RELEASE;
}void main()
{EXEC SQL WHENEVER SQLERROR DO sqlerr();EXEC SQL connect:serverid ;printf("connect ok!\r\n");//1.定義游標--為某一次查詢定義游標
EXEC SQL DECLARE c CURSOR FORselect ida,idb,name from t2;//2.打開游標
EXEC SQL OPEN c;//3.提取數據 fetch into//跳出循環方法一//EXEC SQL WHENEVER NOT FOUND DO BREAK;while(1){EXEC SQL FETCH c INTO :ida1,:idb1,:name1:name1_ind;//跳出循環方法二if(sqlca.sqlcode==100||sqlca.sqlcode==1403){break;}if(name1_ind==-1){memset(name1,0,sizeof(name1));strcpy(name1,"null");}printf("ida=%d,idb=%d,name=%s\r\n",ida1,idb1,name1);}//4.關閉游標
EXEC SQL CLOSE c;//提交斷開連接
EXEC SQL COMMIT RELEASE;system("pause");
}
?
轉載于:https://www.cnblogs.com/zhanggaofeng/p/6282941.html
總結
以上是生活随笔為你收集整理的数据库 proc编程七的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菜鸟的Xamarin.Forms前行之路
- 下一篇: JQuery使用笔记