Posted on 2006-03-07 20:40
天涯浪子 閱讀(689)
評(píng)論(0) 編輯 收藏 引用
3.下面從Pro*C的一個(gè)簡(jiǎn)單程序入手:
#include <iostream>
using namespace std;
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
char username[30];
char password[20];
char last_name[30];
EXEC SQL END DECLARE SECTION;
void sqlerror();
main()
{
EXEC SQL WHENEVER SQLERROR
DO sqlerror();
strcpy(username,"langzi");
strcpy(password,"langzi");
EXEC SQL CONNECT:username
IDENTIFIED BY:password;
EXEC SQL select LAST_NAME
into:last_name from S_EMP where id=2;
printf("\nID=2,last_name=%s\n",last_name);
}
void sqlerror()
{
EXEC SQL WHENEVER SQLERROR
CONTINUE;
printf("\n=>oracle error detected:\n");
printf("%.60s\n",sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
4.從上面的程序簡(jiǎn)要看一下其結(jié)構(gòu):
(1)include頭文件(包括c/c++和Pro*C/C++)
(2)定義變量
(3)定義函數(shù)
(4)寫(xiě)主方法main
聯(lián)接數(shù)據(jù)庫(kù):connect
SQL操作語(yǔ)句:EXEC SQL..........;
exception
斷開(kāi)聯(lián)接,釋放連接:EXEC SQL COMMIT/ROLLBACK WORK RELEASE