999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VC和SQL Server的嵌入式SQL編程技術

2013-01-01 00:00:00王奇偉
電腦迷 2013年3期

摘 要 文章介紹了在VC++ 6.0 中使用嵌入式SQL語言訪問Microsoft SQL Server 2000數據庫的編程實現方法。

關鍵詞 嵌入式SQL 預編譯程序 動態連接庫

中圖分類號:TP312 文獻標識碼:A

0 引言

在通常的運用中,SQL語言是作為獨立語言在終端交互方式下使用的,是非過程性的,其大多數語句都是獨立執行,與上下文無關,稱作自含式語言;而許多事務處理應用都是過程性的,需要根據不同的條件來執行不同的任務,如果把SQL語言嵌入到諸如C語言這樣的過程化的編程語言中,程序開發人員就能設計出更加靈活的應用系統,具有SQL語言和高級編程語言的良好特征,它將比單獨使用SQL或C語言具有更強的功能和靈活性,這種方式下使用的SQL語言稱為嵌入式SQL語言。

在計算機專業課程《數據庫系統概論》中有關于嵌入式SQL語言的內容,其教學手段一般都是理論講述,教學效果不是十分理想。下面介紹一種在現有條件下都能辦到的嵌入式SQL語言實現方法。

1 在VC中使用嵌入式SQL語言訪問Microsoft SQL Server 2000

1.1 使用嵌入式SQL語言所采用的系統配置

①操作系統:Windows 2000 Professional

②Microsoft Visual C++ 6.0

③Microsoft SQL Server 2000

在安裝Microsoft SQL Server 2000 時要注意選擇安裝Development Tools,為使用嵌入式SQL語言準備必要的頭文件和庫文件。

1.2 編輯嵌入式SQL程序

使用文本編輯器如記事本編輯嵌入式SQL程序,其存盤文件的擴展名為\"sqc\"。在嵌入式SQL程序中嵌入的SQL語句以EXEC SQL作為起始標識,語句的結束以\";\"作為標識。在嵌入的SQL語句中可以使用C語言的程序變量(即主變量),這時主變量名前加冒號(:)作為標志,以區別于字段名。主變量的聲明必須包含在\"EXEC SQL BEGIN DECLARE SECTION; \"和\"EXEC SQL END DECLARE SECTION; \"之間。以下是一個嵌入式SQL程序demo.sqc:

#include

void main()

{

EXEC SQL BEGIN DECLARE SECTION;

char first_name[50];

char last_name[] = \"White\";

EXEC SQL END DECLARE SECTION;

EXEC SQL CONNECT TO my_server.pubs

USER my_login.my_password;

EXEC SQL SELECT au_fname INTO :first_name

FROM authors WHERE au_lname = :last_name;

EXEC SQL DISCONNECT ALL;

printf(\"first_name: %s\n\", first_name);

}

此C語言程序中嵌入了SQL語句,用來訪問數據庫服務器my_server中的數據庫pubs,登錄名my_login,口令my_password,在表authors中檢索姓\"White\"的作者的名,并存入主變量first_name,然后通過printf函數輸出結果。

1.3 預編譯嵌入式SQL程序

Microsoft SQL Server 2000提供的預編譯程序nsqlprep.exe,用于對嵌入式SQL程序進行預編譯處理,生成C語言源程序。實際上就是將嵌入式SQL程序中的嵌入式SQL語句替換為對運行時庫文件Sqlakw32.dll的函數調用,接著運行時庫文件調用動態連接庫Ntwdblib.dll通過網絡來存取Microsoft SQL Server 2000數據庫服務器。

預編譯程序nsqlprep的常用語法為:

nsqlprep ESQL_File /SQLACCESS /DB server_name.database_name /PASS login.password

其中ESQL_File是要預編譯的嵌入式SQL程序;/SQLACCESS通知nsqlprep 自動地為嵌入式SQL程序中的靜態SQL語句創建相應的存儲過程;/DB server_name.database_name指明要連接的服務器以及數據庫名稱;/PASS login.password給出登錄名及相應的口令。對于demo.sqc的預編譯命令為:

nsqlprep demo /SQLACCESS /DB my_server.pubs /PASS my_login.my_password

經預編譯處理后即可產生C語言源程序demo.c

1.4 配置VC++ 6.0 中的Project Settings

為了編譯、連接nsqlprep生成的C語言源程序,需要增加必要的訪問路徑到VC++ 6.0 的環境設置中:

①選擇菜單Tools中的菜單項Options

②選擇Directories標簽頁

③在\"Show directories for\"下拉框中選擇\"Include files\",增加Microsoft SQL Server 2000 開發所需頭文件的路徑:C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\Include

④在\"Show directories for\"下拉框中選擇\"Library files\",增加Microsoft SQL Server 2000 開發所需庫文件的路徑:C:\Program Files\Microsoft SQL Server\80\Tools\DevTools\LIB

1.5 生成訪問Microsoft SQL Server 2000數據庫的可執行程序

在VC++ 6.0 中創建一個\"WIN32 Console Application\"類型的Project,選擇菜單Project中菜單項Add to Project的子項Files,將第三步中生成的C語言源程序demo.c添加到此Project中,然后編譯、連接即可生成訪問Microsoft SQL Server 2000數據庫的可執行程序:demo.exe,運行的輸出結果為:Johnson;這與使用交互式查詢工具Query Analyzer檢索的結果是一致的。至此,一個在VC++ 6.0中使用嵌入式SQL語言訪問Microsoft SQL Server 2000數據庫的應用已經開發完成。

2 結束語

本文探討了Microsoft SQL Server 2000中的ESQL/C編程,并介紹了在常用編程軟件VC++ 6.0 中嵌入式SQL程序設計的實現方法。在嵌入式SQL語言的課堂教學中,使用該方法,獲得了良好的教學效果。

主站蜘蛛池模板: 日韩乱码免费一区二区三区| 欧美激情二区三区| 91po国产在线精品免费观看| 黄色网站不卡无码| 丝袜高跟美脚国产1区| 亚洲午夜18| 在线播放真实国产乱子伦| 国产亚洲成AⅤ人片在线观看| 国产一在线观看| 欧洲一区二区三区无码| 992Tv视频国产精品| 精品亚洲欧美中文字幕在线看| 欧美成人二区| 夜夜操天天摸| 伊人激情久久综合中文字幕| 精品国产毛片| 国产成人精品免费视频大全五级| 国产呦视频免费视频在线观看| 日本一区二区三区精品AⅤ| 国产无码制服丝袜| 免费人欧美成又黄又爽的视频| 久久国产亚洲偷自| 欧美视频在线观看第一页| 亚洲一级无毛片无码在线免费视频| 久久国产精品77777| 国产精品偷伦视频免费观看国产 | 一本视频精品中文字幕| 精品午夜国产福利观看| 国产av一码二码三码无码| 亚洲无码精彩视频在线观看| 久久免费精品琪琪| 精品91视频| 国产无码网站在线观看| 黄色在线不卡| 国产一区在线视频观看| 亚洲综合久久一本伊一区| 中文无码精品A∨在线观看不卡| 欧美一道本| 99视频国产精品| 国产综合亚洲欧洲区精品无码| 成人日韩精品| 国产亚洲精品无码专| 一区二区日韩国产精久久| 亚洲综合色在线| 国产农村妇女精品一二区| 国产高清自拍视频| 国产av无码日韩av无码网站| 国产打屁股免费区网站| 国产偷国产偷在线高清| 伊人丁香五月天久久综合 | 亚洲精品中文字幕午夜| 美女裸体18禁网站| 免费国产一级 片内射老| 国产三级国产精品国产普男人| 国产18在线| 成人免费黄色小视频| 美女被操91视频| 成人一级黄色毛片| 精品福利国产| 国产Av无码精品色午夜| 日韩午夜伦| 亚洲天堂高清| 久久毛片网| 亚洲日韩高清无码| 国产毛片久久国产| 91九色最新地址| 欧美性天天| 国产一区二区三区夜色| 日韩久久精品无码aV| 国产精品白浆在线播放| 中文无码精品A∨在线观看不卡| 国产成人盗摄精品| 亚洲不卡网| 在线免费看黄的网站| 毛片网站在线看| 亚洲伊人天堂| 亚洲国内精品自在自线官| 天天视频在线91频| 日韩av在线直播| 99一级毛片| 国产1区2区在线观看| 成人在线观看一区|