oracle ProC程式設計

mrhaozi發表於2009-12-10

Pro*C/C++ windows程式設計

來源:phoenix.yuwen 2005-11-21

[1]先建立一個winproc.pc檔案

在裡面把和oracle資料庫相關的操作寫成類和函式

預編譯時注意:

預編譯設定項中要修改 CODE,PARSE,CPP_SUFFIX

1:CODE選CPP

2:PARSE選none或partial

3:CPP_SUFFIX選cpp

[2]預編譯成功後生成winproc.cpp檔案

將該檔案改成標頭檔案winproc.h匯入你的工程當中

在工程開發程式中引用winproc.h中的類和函式進行對資料庫的操作

下面是我寫的一個winproc.pc檔案

#include

#include

#include

#include

#include

#include

#include

EXEC ORACLE OPTION (RELEASE_CURSOR=YES);

EXEC SQL INCLUDE sqlca;

/*sql變數宣告*/

EXEC SQL BEGIN DECLARE SECTION;

EXEC SQL END DECLARE SECTION;

class oracle_proc

{

public:

void connect_oracle();

void select_sql();

void sql_error();

};

void oracle_proc::connect_oracle()

{

/*以user:system/manager 登入資料庫*/

EXEC SQL CONNECT :"scott" IDENTIFIED BY :"scott";

/*登入不成功時*/

if(sqlca.sqlcode<0)

{

AfxMessageBox(sqlca.sqlerrm.sqlerrmc);

EXEC SQL ROLLBACK WORK RELEASE;

}

/*連線成功時*/

else

{

AfxMessageBox("nConnected to Oracle!n");

}

};

void oracle_proc::sql_error()

{

AfxMessageBox("some error …");

};

void oracle_proc::select_sql()

{

/*sql語句賦值為insert語句*/

EXEC SQL BEGIN DECLARE SECTION;

char temp[20];

EXEC SQL END DECLARE SECTION;

/*執行sql*/

EXEC SQL SELECT DNAME INTO :temp FROM SCOTT.DEPT WHERE DEPTNO = '28';

EXEC SQL COMMIT WORK RELEASE;

/*輸出sql語句*/

AfxMessageBox(temp);

};

預編譯後生成winproc.cpp

再新建一個MFC程式,把標頭檔案winproc.h匯入到工程裡,要記得新增庫檔案oraSQL8.lib

在裡面做個實驗看看:

void CTestProcDlg::OnButton1()

{

// TODO: Add your control notification handler code here

oracle_proc ora;

ora.connect_oracle();

ora.select_sql();

//ora.sql_error();

}

結果看到透過MFC+Pro*C/C++我們做到了直接訪問oracle資料庫,而且整個過程很簡單,

[@more@]oracle ProC程式設計

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1029548/,如需轉載,請註明出處,否則將追究法律責任。

相關文章