?? odbc-c1.htm
字號:
<html>
<head>
<title>ODBC 編程教程:基礎</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFCC" vlink="#FFCCCC" alink="#CCFFCC">
<h1 align="center"><font face="Tahoma" color="#FFFFCC">ODBC 基礎</font></h1>
<p align="left"><font face="Tahoma" size="-1">這是使用 win32asm進行數據庫編程系列的第一份教程。
在如今的IT界,數據庫編程變的越來越重要,所以我們不能再忽視它。但如今有很多種數據庫在使用,如果
我們為了實現win32下數據庫匯編語言編程而學習各種數據庫文件格式,所花時間大概稱得上“永恒”。
</font></p>
<p align="left"><font face="Tahoma" size="-1">幸運的是,Microsoft的一項技術使得我們得以擺脫這個
大麻煩。它被稱為<b><font color="#FFFFCC">ODBC</font></b>,是<font color="#CCFFCC"><b>開放式數據庫互連(Open Database Connectivity)</b></font>的縮寫,這是一族API,與Windows API相似。它主要與數據庫打交道。就是說,利用ODBC API,你可通過統一界面
和好多各不相同的數據庫打交道。</font></p>
<p align="left"><font face="Tahoma" size="-1">ODBC是如何工作的?它的結構式怎樣的?在使用ODBC之前,
你應對它的結構有一個清楚的了解。 ODBC有四個組成部分:</font></p>
<ul>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>應用程序 (Application,你的程序)</b></font></li>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>ODBC 管理器 (ODBC manager)</b></font></li>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>ODBC 驅動程序(ODBC Drivers)</b></font></li>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>數據源 (Data Sources,數據庫)</b></font></li>
</ul>
<p><font face="Tahoma" size="-1">這四個組件的核心是<font color="#FFFFCC"><b>ODBC 管理器</b></font>。 你可把它想象成你的監工。你告訴它你希望他作什么,然后它把你的要求傳達給它的工人(ODBC 驅動程序)并完成工作。如果工人有什么想告訴你的,它會與監工(ODBC 管理器)說,由監工傳達給你。工人們很明白他們應作什么,因此他們會為你很好的完成工作。</font></p>
<p><font face="Tahoma" size="-1">通過這樣的模式,我們并不與數據庫驅動程序直接通信。
你只需告訴數據庫管理器你想要做什么。而使用恰當的ODBC驅動程序來實現你的目的則是ODBC管理器的事。
每個ODBC 驅動程序對于它所對應的數據庫均有足夠了解。各部件各司其職,極大的簡化了工作量。</font></p>
<p align="center"><font face="Tahoma" size="-1"><b><font color="#FFFFCC">你的程序<----> ODBC管理器<----> ODBC驅動程序 <----> 數據庫</font></b></font></p>
<p><font face="Tahoma" size="-1">ODBC管理器由Microsoft提供。看一下你的控制面板。如果你正確地安裝了ODBC你會找到<font color="#CCFFCC"><b>ODBC數據源(32位) </b></font>項目。
至于ODBC驅動程序, Microsoft隨他們的產品提供了好幾種。并且你總可從數據庫提供商那里獲得新的ODBC 驅動程序。只要簡單地安裝新的ODBC驅動程序,你的機器就可使用新的它以前不知道的數據庫。</font></p>
<p><font face="Tahoma" size="-1">ODBC APIs 使用很簡單,但你需要知道一些關于SQL和數據庫的知識。例如字段(field),主鍵(primary key),記錄(record),列(column),行(row)等。我須假定你已知道數據庫理論的一些基礎知識,這樣我才能討論win32下用匯編語言進行ODBC編程的細節問題。正如你所看到的,ODBC 管理器試圖在你的程序里隱藏實現的細節。這意味著它必須提供某些基本界面來與你的程序和ODBC驅動程序進行通訊。 由于ODBC驅動程序在某些性能方面存在著差異,因此必須存在一種方法,以使得我們的程序能夠知道某個ODBC驅動程序是否支持某一特性。 ODBC定義了被稱為<font color="#FFFFCC"><b>Interface Conformance Levels</b></font>的三層服務界面。第三層是核心層。任何ODBC驅動程序都要象在第一層和第二層實現功能一樣實現核心層表中的所有特性。從我們的程序的眼光來看, ODBC APIs被分割為這樣的三層。如果某個函數被標為核心的,就意味著你可放心使用而不必擔心它是否為你正使用的ODBC驅動程序支持。如果它是一個第一層或第二層的函數,你就得確認ODBC驅動程序是否支持,然后再使用。你可通過MSDN獲得ODBC APIs的詳細資料。</font></p>
<p><font face="Tahoma" size="-1">在編寫代碼之前你應了解一些ODBC的名詞。</font></p>
<ul>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>環境(Environment)</b></font><font face="Tahoma" size="-1">.
和字面意思一樣,是一個全局文本用來存取數據。如果你熟悉DAO的話,你可把它想象為一個workspace。它包含應用于所有ODBC session的信息,例如一個session的connections句柄。在用ODBC之前你必須從環境中獲得這個句柄。</font></li>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>連接(Connection)</b></font><font face="Tahoma" size="-1">.
指定ODBC驅動程序和數據源(數據庫)。你可以在同一環境中同時連接不同的數據庫</font></li>
<li><font color="#FFFFCC" face="Tahoma" size="-1"><b>語句(Statement)</b></font><font face="Tahoma" size="-1">.
ODBC使用SQL作為自己的語言。 因而只要簡單的認為語句就是你希望ODBC執行的SQL命令就行了。</font></li>
</ul>
<p><font face="Tahoma" size="-1">以下是使用ODBC編程的一般步驟:</font></p>
<ol>
<li><font face="Tahoma" size="-1">連接數據源</font></li>
<li><font face="Tahoma" size="-1">創建并執行一條或多條SQL語句</font></li>
<li><font face="Tahoma" size="-1">檢查結果記錄(如果有的話)</font></li>
<li><font face="Tahoma" size="-1">斷開數據源</font></li>
</ol>
<p><font face="Tahoma" size="-1">在接下來的教程中我們來學習如何來實現這幾步。 </font></p>
<hr>
<p align="center"><font size="-1"><b><font face="Tahoma">[<a href="http://freeshell.org/~michael">Iczelion's
Win32 Assembly Homepage</a>]</font></b></font></p>
<p align="center"><font size="-1"><b><font face="Tahoma">[由<a href="mailto:hw1979@263.net">orochi</a>于2000年8月1日翻譯]</font></b></font></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -