第二講Delphi操作數(shù)據(jù)庫基礎(chǔ)(下) |
日期:2005年3月29日 作者:心鈴 人氣: 3921 查看:[大字體 中字體 小字體] |
在本講中,我們重點介紹一下BDE和數(shù)據(jù)庫別名的有關(guān)知識,這是操作數(shù)據(jù)庫的基礎(chǔ)。
![]() 圖2-1 BDE運行介面圖 介面的左半部分有兩個選項卡,一個是DataBase,另一個是Configuaration,我們先來介紹Database。 單擊Database選項卡,將會列出目前系統(tǒng)中所有的數(shù)據(jù)庫別名。那么數(shù)據(jù)庫別名是什么呢?數(shù)據(jù)庫別名是初學用Delphi進行數(shù)據(jù)庫編程首先碰到的一個問題。Delphi中的許多數(shù)據(jù)庫組件都需要指明數(shù)據(jù)庫名稱,數(shù)據(jù)庫名稱可以直接指定,如C:\DATA\DEMO.MDB,但在代碼中可能多處需要使用數(shù)據(jù)庫名稱,如果都這樣直接使用數(shù)據(jù)庫的絕對路徑名稱,寫起來比較麻煩,但更麻煩的事情在于如果用戶改變了數(shù)據(jù)庫的存放路徑(如在安裝時讓用戶指定安裝目錄)或數(shù)據(jù)庫名稱,已編寫好的程序(EXE文件)將無法正常工作,即使在編程階段,也要對所有的代碼都進行修改,是否太麻煩了,此時我們最好給數(shù)據(jù)庫另取一個名字,這就是別名,此別名代替數(shù)據(jù)庫的真實路徑、名稱,用戶在編程中不必考慮數(shù)據(jù)庫存放在何處,如果數(shù)據(jù)庫的絕對路徑或名稱修改了,只需修改別名的配置信息即可,用戶的程序無需做任何修改。還有另外一個重要的原因是:在設(shè)定數(shù)據(jù)庫別名時,用戶需要指明數(shù)據(jù)庫類型,這樣Delphi才知道使用什么樣的數(shù)據(jù)庫驅(qū)動程序。如果直接用數(shù)據(jù)庫絕對路徑和數(shù)據(jù)庫真實名稱,在使用時需要在程序中用代碼指定數(shù)據(jù)庫類型,這樣做實在太麻煩了。所以,建議還是使用數(shù)據(jù)庫別名。 數(shù)據(jù)庫別名設(shè)定和數(shù)據(jù)庫連接。這里就如何設(shè)定數(shù)據(jù)庫別名做詳細的介紹。這也是初學者用Delphi進行數(shù)據(jù)庫編程時比較頭疼的一個問題。許多有關(guān)書籍都講的不詳細,即使講也只是用標準格式(.DBF .DB )做一下示范,對目前流行的Access等數(shù)據(jù)庫沒有介紹。這里將舉例說明對不同格式的數(shù)據(jù)庫如何設(shè)定別名 標準格式的數(shù)據(jù)庫(STANDARD) Delphi的標準格式數(shù)據(jù)庫指的是Paradox的數(shù)據(jù)庫(擴展名為DB)和dBase類型的數(shù)據(jù)庫(擴展名為DBF)。對這兩種數(shù)據(jù)庫,在設(shè)定數(shù)據(jù)庫組件的DataBaseName屬性時可以不需要別名,直接輸入.DB、.DBF文件所在的路徑即可。如:C:\Data。但基于上面所述原因,我們最好還是設(shè)定數(shù)據(jù)庫別名。對Paradox、Foxpro、dBase類型的數(shù)據(jù)庫,在BDE Administrator的Object菜單中執(zhí)行“new…”菜單項(或在BDE界面內(nèi)任何處單擊鼠標右鍵即可彈出快捷菜單,從中選擇“new…”),將會彈出一個數(shù)據(jù)庫驅(qū)動程序名窗體,默認格式為STANDARD。單擊“OK”按鈕,在DataBase卡中出現(xiàn)新的數(shù)據(jù)庫別名“STANDARD1”,用戶可以修改為自己所喜歡的名字,這里我們修改為“mydatabase”,在右邊的“Definition”卡中用戶可定義數(shù)據(jù)驅(qū)動程序,單擊“DEFAULT DRIVER”后的輸入框從列表中選擇,這里我們選擇paradox。接下來設(shè)定PATH參數(shù),單擊PATH后輸入框,可直接輸入C:\Data,或單擊后面的選擇目錄按鈕打開類似于文件夾管理器的界面來選擇數(shù)據(jù)表文件目錄。然后在“mydatabase”數(shù)據(jù)庫別名上單擊右鍵,選擇“Apply”(應(yīng)用)即可。這樣mydatabase就是數(shù)據(jù)庫C:\Data(此路徑下為數(shù)據(jù)表)的別名。 Access數(shù)據(jù)庫別名的設(shè)定和連接
ODBC方式。用這種方式主要是對數(shù)據(jù)源進行設(shè)定(其實就是設(shè)定數(shù)據(jù)庫別名)。初學者對ODBC一般感到很深奧,其實并不神秘,下面詳細說明操作方法。在win9X控制面板中的“32位ODBC”,雙擊打開ODBC 數(shù)據(jù)源管理器,如圖2-2所示。 圖2-2數(shù)據(jù)源管理器 單擊“添加”按鈕后界面如圖2-3,從中選擇驅(qū)動程序,這里選擇“Microsoft Access Driver(*.mdb)”,單擊“完成”,界面為圖2-4所示。在“數(shù)據(jù)源名(N):”輸入數(shù)據(jù)源名稱如“myAccess ”,單擊“數(shù)據(jù)庫”框中的DataBase的“選?。?u>S)…”按鈕選擇要打開的MDB數(shù)據(jù)庫,再單擊“高級”按鈕,在這里可輸入“設(shè)定名稱”、“密碼”,無密碼不輸。 單擊“確定”返回后再單擊“確定”按鈕,返回界面(圖2-5),從中可發(fā)現(xiàn)用戶剛設(shè)定的數(shù)據(jù)源名稱“myAccess file”已經(jīng)出現(xiàn)在列表中,如要修改可單擊“配置”按鈕,無誤后單擊“確定”退出。至此,我們已正確設(shè)定了數(shù)據(jù)源。下面打開BDEAdministrator,
![]()
![]() 圖2-4 設(shè)定數(shù)據(jù)源名稱 如果不滿意這個別名(數(shù)據(jù)源名)可以按下面的方法去做,在BDE中創(chuàng)建新的別名時在Dadabase Driver Name 中選擇“Microsoft Access Driver(*.mdb)”,然后輸入新的別名。如“myAccess good”,在Definition卡中設(shè)定參數(shù)ODBC DSN時選擇“myAccess” (數(shù)據(jù)源名) 。其它的就和前面一樣了。這樣myAccess good就是demo.mdb數(shù)據(jù)庫的別名。如果這樣做demo.mdb就有了兩個別名了,建議直接用數(shù)據(jù)源名做別名(這樣簡單些)。 圖2-5 設(shè)定好的ODBC數(shù)據(jù)源
Excel文件的工作表別名設(shè)定 對于Excel文件來說,也需要使用ODBC建立數(shù)據(jù)源,方法和用ODBC建立Access 數(shù)據(jù)庫別名是一樣的,可參考上面的介紹。 服務(wù)器數(shù)據(jù)庫別名設(shè)定。服務(wù)器數(shù)據(jù)庫如Oracle、Sybase、Informix、Microsoft SQL Server、 Intrbase等,它們的別名設(shè)定可以用本地或ODBC方式設(shè)定(需要安裝驅(qū)動程序)。和前面設(shè)定別名的操作基本一樣。不一樣的地方主要為在Definition參數(shù)設(shè)定中有一個數(shù)據(jù)庫服務(wù)器名稱(Server Name)需要正確設(shè)定。 這里說明一點:對于本地數(shù)據(jù)庫如dBase、Foxpro、Paradox數(shù)據(jù)庫也可用ODBC方式訪問,只不過一般沒有必要。 用SQL Explore建立數(shù)據(jù)庫別名和連接 在Delphi5.0的DataBase菜單中有一個Explore菜單項,執(zhí)行它將出現(xiàn)SQL Explorer運行窗口,和BDE的運行界面非常相似,在這里進行建立別名和連接的操作和在BDE中完全一樣。用SQLExplore建立別名和連接的優(yōu)點是,建立好別名和連接后,在右邊的窗體中可打開數(shù)據(jù)表、查看字段屬性、查看數(shù)據(jù)表內(nèi)容、進行SQL操作。 下面我們來介紹一下Configuaration選項卡。此選項主要用來供用戶查看、修改驅(qū)動程序及系統(tǒng)的配置信息。分兩大部分,一是Driver。Driver下又分為native(本地方式)和ODBC方式,本地方式下列出了目前可用的本地數(shù)據(jù)庫及驅(qū)動配置,我們選擇MSACCESS來看看右邊列出的信息,其中重要的兩個配置為:DLL32:IDDA3532.DLL ,DATABASENAME 為:DRIVE:/PATH/DATABASE.MDB,前者說明數(shù)據(jù)庫驅(qū)動程序,后者說明數(shù)據(jù)庫名稱的輸入方式應(yīng)該是驅(qū)動器/路徑/MDB數(shù)據(jù)庫名字。這里順便說一下,用delphi5或delphi4自帶的制做安裝盤的軟件IS Express制做出來的MSAccess數(shù)據(jù)庫的安裝程序把BDE打包安裝后,運行執(zhí)行文件,總會出現(xiàn)非法錯誤,經(jīng)仔細檢查發(fā)現(xiàn)安裝后DLL32設(shè)定的是IDDAO32.DLL,將其修改為IDDA3532.DLL就可以正常運行了。ODBC下列出的是目前可用的ODBC驅(qū)動程序的配置信息。二是system,在system下設(shè)定的是通用的系統(tǒng)配置信息。其中INIT設(shè)定的是設(shè)計一個應(yīng)用系統(tǒng)的初始默認設(shè)置。FORMAT下可設(shè)定DATE、TIME、NUMBER三個常用配置信息。 在DATE中,我們可以設(shè)定如下: SEPARATOR 用來確定用什么樣的分隔符來將年、月、日分開。 MODE 控制如何顯示日期格式,有三種方式:0-MDY,1- DMY, 2-YMD,按中國人的習慣應(yīng)該為2(年月日),在安裝BDE時缺省將根據(jù)控制面板中的設(shè)定配置。 FOURDIGITYEAR是否采用四位年份,缺省情況是用2位,只不過現(xiàn)在我們都應(yīng)該用四位了。如果設(shè)定為false, 則在01/01/00 至12/31/49將被認為是21世紀,如果在01/01/50 至12/31/99被認為屬于20世紀 YEARBIASED設(shè)定是否將用戶輸入的兩位年份在保存時改為4位,缺省為TRUE. LEADINGZEROM 設(shè)定是否將用戶輸入的10月份以前的月份自動添加0,比如將"1/1/80" 變?yōu)?/span>"01/1/80" LEADINGZEROD 設(shè)定是否將用戶輸入的10日以前的日期自動添加0,比如將"1/1/80" 變?yōu)?/span>"1/01/80" 至于TIME和NUMBER設(shè)定就很簡單了,讀者自己看看就明白了。 通過這一講我們知道如何設(shè)定常用類型的數(shù)據(jù)別名了,下一講我們就開始設(shè)計一個數(shù)據(jù)庫應(yīng)用程序并講解用到的數(shù)據(jù)庫組件等內(nèi)容了,希望讀者能堅持讀下去! (出處:www) |
鄭重聲明:此文章由網(wǎng)友發(fā)布,僅供學習參考!如有侵權(quán),請及時告知我們將之移除! |
相關(guān)文章: |