![數(shù)據(jù)庫實驗-通過嵌入式SQL訪問數(shù)據(jù)庫_第1頁](http://file4.renrendoc.com/view3/M03/26/19/wKhkFmYIrf6AY_pXAAG-ca0VAT8715.jpg)
![數(shù)據(jù)庫實驗-通過嵌入式SQL訪問數(shù)據(jù)庫_第2頁](http://file4.renrendoc.com/view3/M03/26/19/wKhkFmYIrf6AY_pXAAG-ca0VAT87152.jpg)
![數(shù)據(jù)庫實驗-通過嵌入式SQL訪問數(shù)據(jù)庫_第3頁](http://file4.renrendoc.com/view3/M03/26/19/wKhkFmYIrf6AY_pXAAG-ca0VAT87153.jpg)
![數(shù)據(jù)庫實驗-通過嵌入式SQL訪問數(shù)據(jù)庫_第4頁](http://file4.renrendoc.com/view3/M03/26/19/wKhkFmYIrf6AY_pXAAG-ca0VAT87154.jpg)
![數(shù)據(jù)庫實驗-通過嵌入式SQL訪問數(shù)據(jù)庫_第5頁](http://file4.renrendoc.com/view3/M03/26/19/wKhkFmYIrf6AY_pXAAG-ca0VAT87155.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫原理課程實驗報告1.實驗題目:實驗五通過嵌入式SQL訪問數(shù)據(jù)庫2.實驗?zāi)康氖煜ねㄟ^嵌入式SQL〔主語言C語言〕編程訪問數(shù)據(jù)庫3
實驗平臺3.1
操作系統(tǒng):
Windows2000或者WindowsXP
注:使用Professional版的操作系統(tǒng)建議安裝數(shù)據(jù)庫管理系統(tǒng)的教學版,Server版的操作系統(tǒng)建議安裝數(shù)據(jù)庫管理系統(tǒng)的企業(yè)版。3.2
數(shù)據(jù)庫管理系統(tǒng):
SQLServer2000數(shù)據(jù)庫管理系統(tǒng)4
實驗內(nèi)容及要求內(nèi)容:熟悉RDBMS的預(yù)編譯程序。掌握SQLServer2000的預(yù)編譯程序NSQLPREP.EXE的使用〔以課本例題1進行調(diào)試〕。要求:在本報告中列出程序代碼及注釋,保證程序能正確編譯運行。5.實驗內(nèi)容與完成情況:嵌入式SQL的C語言應(yīng)用程序在VC++6.0、SQLServer2000環(huán)境下的調(diào)試可分為五步:第一步環(huán)境初始化;第二步預(yù)編譯;第三步編譯;第四步連接;第五步運行。1、環(huán)境初始化
(1)將文件夾devtools復(fù)制到SQLServer的系統(tǒng)目錄C:\ProgramFiles\MicrosoftSQLServer\〔或在安裝MicrosoftSQLServer2000時選擇安裝DevelopmentTools,為使用嵌入式SQL語言準備必要的頭文件和庫文件?!?/p>
(2)初始化VisualC++6.0編譯器環(huán)境。在命令行方式下運行文件\MicrosoftVisualStudio\VC98\Bin\vcvars32.bat。運行文件\MicrosoftVisualStudio\VC98\Bin\vcvars32.bat。本人直接是由附件里的運行程序直接運行
(3)初始化SQLServer的預(yù)編譯環(huán)境。在命令行方式下運行文件:C:\ProgramFiles\MicrosoftSQLServer\DEVTOOLS\SAMPLES\ESQLC\setenv.bat。本人直接是由附件里的運行程序直接運行
(4)VC++6.0環(huán)境配置。具體配置分為如下三步:
①單擊菜單中Tools(工具)->options〔選擇〕->directories〔目錄〕->IncludeFiles:添加C:\ProgramFiles\MicrosoftSQLServer\devtools\include。將SQLserver自帶的用于數(shù)據(jù)庫開發(fā)的頭文件包含到工程環(huán)境中。
②Tools(工具)->options〔選擇〕->directories〔目錄〕->LibFiles:添加C:\ProgramFiles\MicrosoftSQLServer\devtools\x861ib。將開發(fā)用到的包包含到工程中。
③project〔工程〕->Settings〔設(shè)置〕->Link->Object〔對象〕/LibraryModules〔庫模塊〕,添加庫文件:SQLakw32.lib,Caw32.lib。這兩個文件之間用空格分開。注意:在VC++6.0中要先創(chuàng)立一個"WIN32ConsoleApplication"的Proiect,才可以做該設(shè)置。2、預(yù)編譯1〕復(fù)制ESQL預(yù)編譯文件及庫文件C語言編譯程序不能識別應(yīng)用程序中的SQL語句,需要經(jīng)過預(yù)處理程序?qū)⑵滢D(zhuǎn)換成C語句。SQLServer的預(yù)處理程序是nsqlprep.exe。nsqlprep.exe在SQLServer安裝日錄的MSSQL\Binn下。假設(shè)SQLServer數(shù)據(jù)庫采用的是默任安裝方式,那么需要把nsqlprep.exe、SQLAIW32.DLL、SQLAKW32.DLL三個文件拷貝到MSSQL\Binn目錄下。2〕將動態(tài)鏈接庫SQLAKW32.dll,SQLAIW32.dll文件拷貝到操作系統(tǒng)目錄下的子目錄C:\WINDOWS\system32中。3〕創(chuàng)立嵌入式SQL的C源文件Esql.c#include<stdio.h>#include<stdlib.h>EXECSQLBEGINDECLARESECTION;/*主變量說明開始*/chardeptname[22];charHSno[10];charHSname[22];charHSsex[4];intHSage;intNEWAGE;longSQLCODE;EXECSQLENDDECLARESECTION;/*主變量說明結(jié)束*/EXECSQLINCLUDEsqlca;/*定義SQL通信區(qū)*//*************************************************************************/intmain(void)/*C語言主程序開始*/{intcount=0;charyn;/*變量yn代表yes或no*/printf("Pleasechoosethedepartmentname(CS/MA/IS):");scanf("%s",deptname);/*為主變量deptname賦值*/EXECSQLCONNECTTOStudent;/*連接數(shù)據(jù)庫STUDENTDb*/EXECSQLDECLARESXCURSORFOR/*定義游標*/SELECTSno,Sname,Ssex,Sage/*SX對應(yīng)語句的執(zhí)行結(jié)果*/FROMStudentWHERESDept=:deptname;EXECSQLOPENSX;/*翻開游標SX便指向查詢結(jié)果的第一行*/for(;;)/*用循環(huán)結(jié)構(gòu)逐條處理結(jié)果集中的記錄*/{EXECSQLFETCHSXINTO:HSno,:HSname,:HSsex,:HSage;/*推進游標,將當前數(shù)據(jù)放入主變量*/if(sqlca->sqlcode!=0)/*sqlcode!=0,表示操作不成功*/{printf("數(shù)據(jù)處理結(jié)束!");break;/*利用SQLCA中的狀態(tài)信息決定何時退出循環(huán)*/}if(count++==0)/*如果是第一行的話,先打出行頭*/printf("\n%-10s%-22s%-4s%-10s\n","Sno","Sname","Ssex","Sage");printf("%-10s%-22s%-4s%-10d\n",HSno,HSname,HSsex,HSage);/*打印查詢結(jié)果*/printf("UPDATEAGE(y/n)?");/*詢問用戶是否要更新該學生的年齡*/do{scanf("%c",&yn);}while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y');if(yn=='y'||yn=='Y')/*如果選擇更新操作*/{printf("INPUTNEWAGE:");scanf("%d",&NEWAGE);/*用戶輸入新年齡到主變量中*/EXECSQLUPDATEStudent/*嵌入式SQL*/SETSage=:NEWAGEWHERECURRENTOFSX;}/*對當前游標指向的學生年齡進行更新*/}EXECSQLCLOSESX;/*關(guān)閉游標SX不再和查詢結(jié)果對應(yīng)*/EXECSQLCOMMITWORK;/*提交更新*/EXECSQLDISCONNECTTEST;/*斷開數(shù)據(jù)庫連接*/}4〕關(guān)閉C源文件MyEsql.c,并將其備份,然后更改源文件的擴展名為“.sqc”。5〕在命令行下運行ESQL預(yù)編譯程序nsqlprep.exe程序:nsqlprepMyEsql.sqc假設(shè)運行成功,那么生成MyEsql.c,將該文件添加到VC工程中編譯即可。6〕編譯,連接與運行
在VC++6.0中創(chuàng)立一個"WIN32ConsoleApplication"的Proiect,然后將預(yù)編譯生成的c文件參加Proiect,編譯連接即可生成訪問SQLServer的可執(zhí)行程序。6.出現(xiàn)的問題:實驗上機前,因為個人電腦安裝C++在D盤,所以實驗初始化Vis
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公房拆遷補償合同范例
- 關(guān)于包裝采購合同范例
- 天寧區(qū)外墻巖板施工方案
- 金華打深井施工方案
- 推動教育評價改革:體系完善的策略與路徑
- 蘇州平價柱式水塔施工方案
- 豎井滑模施工方案
- 共同貸款協(xié)議合同范本
- 業(yè)主 工程 合同范本
- 物業(yè)服裝采購方案
- 明代文學緒論
- 通用稅務(wù)自查情況說明報告(7篇)
- 體育賽事的策劃、組織與實施 體育賽事利益相關(guān)者
- 分析化學(高職)PPT完整版全套教學課件
- 晚熟的人(莫言諾獎后首部作品)
- m拱頂儲罐設(shè)計計算書
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級下冊科學全冊教學課件
- GB/T 29361-2012電子物證文件一致性檢驗規(guī)程
- GB/T 16475-1996變形鋁及鋁合金狀態(tài)代號
- 效率提升和品質(zhì)改善方案
評論
0/150
提交評論