資源描述:
《VC++連接Oracle技術(shù)詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、19.5Oracle中嵌入式SQL的編譯運(yùn)行利用PROC,在VisualC++環(huán)境下開(kāi)發(fā)數(shù)據(jù)庫(kù)程序的方法VisualC++6.0和Oracle9i版為例19.5.1嵌入式SQL代碼該實(shí)例在C語(yǔ)言中嵌入SQL語(yǔ)句在myora實(shí)例Scott中創(chuàng)建一個(gè)表mystudent向其中插入數(shù)據(jù)并依次讀取顯示數(shù)據(jù)具體代碼如下:c語(yǔ)言實(shí)現(xiàn)#include#includeEXECSQLINCLUDEsqlca;intmain(){EXECSQLBEGINDECLARESECTION;//用于定義用于登錄數(shù)據(jù)庫(kù)操作的一些變量VARCHA
2、Rusername[10],password[10],server[10];charsno[5];charsname[10];intage;charcity[10];shortcityInd;EXECSQLENDDECLARESECTION;printf("嵌入式SQL的應(yīng)用");//輸入用戶名口令和服務(wù)器名printf("輸入用戶名:");gets(username.arr);username.len=(unsignedshort)strlen((char*)username.arr);printf("輸入口令:");gets(passw
3、ord.arr);password.len=(unsignedshort)strlen((char*)password.arr);printf("輸入服務(wù)器名:");gets(server.arr);server.len=(unsignedshort)strlen((char*)server.arr);//連接到oracle服務(wù)器上EXECSQLCONNECT:usernameidentifiedby:passwordusing:server;printf("用戶%s已經(jīng)成功的連接到服務(wù)器上!",username.arr,server.ar
4、r);//程序的主體部分EXECSQLcreatetablemystudent(snovarchar2(5)primarykey,snamevarchar2(10)notnull,agenumber,citychar(10)null);EXECSQLinsertintomystudentvalues('9601','王永',21,'天津');EXECSQLinsertintomystudentvalues('9602','李萍',19,'北京');EXECSQLinsertintomystudentvalues('9603','高太',20,'天津')
5、;EXECSQLinsertintomystudentvalues('9604','劉靜',20,'天津');EXECSQLinsertintomystudentvalues('9605','王東',23,'上海');EXECSQLinsertintomystudentvalues('9606','李大為',22,null);EXECSQLWHENEVERSQLERRORGOTOerror;EXECSQLWHENEVERNOTFOUNDGOTOdone;EXECSQLDECLAREmystudentCursorCURSORFORSELECTsname,
6、cityfrommystudent;EXECSQLOPENmystudentCursor;printf("mystudent表中的姓名和城市信息如下:");for(;;){//fetchnetrowoftheresulttableEXECSQLFETCHmystudentCursorINTO:sname,:city:cityInd;//displaydataprintf("姓名:%s",sname);if(cityInd<0)//通過(guò)設(shè)置指示變量,并判斷指示變量的值<0來(lái)確認(rèn)輸出null值printf("城市:NULL");elseprintf
7、("城市:%s",city);}error:printf("SQLerror%d",sqlca.sqlcode);done://closethecursorbeforthecomletingEXECSQLWHENEVERSQLERRORcontinue;EXECSQLCLOSEmystudentCursor;EXECSQLCOMMITWORKRELEASE;gets(sno);return0;}文本編輯器編輯,并保存為esqlc.pc19.5.2預(yù)編譯文件PROC在VC中開(kāi)發(fā)Oracle庫(kù)接口時(shí),需要用到以下3個(gè)特殊文件文件路徑PROC的可執(zhí)行
8、文件PORCUI.EXED:oracleora90BINPROCUI.EXE支持SQL