Posted on 2006-03-06 19:44
天涯浪子 閱讀(713)
評論(0) 編輯 收藏 引用 所屬分類:
(二)C++高級部分——Pro*C部分
3.下面從Pro*C的一個簡單程序入手:
#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.從上面的程序簡要看一下其結構:
(1)include頭文件(包括c/c++和Pro*C/C++)
(2)定義變量
(3)定義函數
(4)寫主方法main
聯接數據庫:connect
SQL操作語句:EXEC SQL..........;
exception
斷開聯接,釋放連接:EXEC SQL COMMIT/ROLLBACK WORK RELEASE