| 導購 | 订阅 | 在线投稿
分享
 
 
 

第二講 Delphi操作數據庫基礎(下)

來源:互聯網網民  2006-12-16 17:27:52  評論

在本講中,我們重點介紹一下BDE和數據庫別名的有關知識,這是操作數據庫的基礎。

要想學習寫數據庫程序,首先必須對BDE要有所了解。BDE有一個操作介面供用戶在寫程序時對數據庫進行配置一些信息,安裝完畢後在程序組中可以直接找到執行,其執行程序爲bdeadmin.exe,運行它會出現如下的介面。

介面的左半部分有兩個選項卡,一個是DataBase,另一個是Configuaration,我們先來介紹Database。

單擊Database選項卡,將會列出目前系統中所有的數據庫別名。那麽數據庫別名是什麽呢?數據庫別名是初學用Delphi進行數據庫編程首先碰到的一個問題。Delphi中的許多數據庫組件都需要指明數據庫名稱,數據庫名稱可以直接指定,如C:\DATA\DEMO.MDB,但在代碼中可能多處需要使用數據庫名稱,如果都這樣直接使用數據庫的絕對路徑名稱,寫起來比較麻煩,但更麻煩的事情在于如果用戶改變了數據庫的存放路徑(如在安裝時讓用戶指定安裝目錄)或數據庫名稱,已編寫好的程序(EXE文件)將無法正常工作,即使在編程階段,也要對所有的代碼都進行修改,是否太麻煩了,此時我們最好給數據庫另取一個名字,這就是別名,此別名代替數據庫的真實路徑、名稱,用戶在編程中不必考慮數據庫存放在何處,如果數據庫的絕對路徑或名稱修改了,只需修改別名的配置信息即可,用戶的程序無需做任何修改。還有另外一個重要的原因是:在設定數據庫別名時,用戶需要指明數據庫類型,這樣Delphi才知道使用什麽樣的數據庫驅動程序。如果直接用數據庫絕對路徑和數據庫真實名稱,在使用時需要在程序中用代碼指定數據庫類型,這樣做實在太麻煩了。所以,建議還是使用數據庫別名。

數據庫別名設定和數據庫連接。這裏就如何設定數據庫別名做詳細的介紹。這也是初學者用Delphi進行數據庫編程時比較頭疼的一個問題。許多有關書籍都講的不詳細,即使講也只是用標准格式(.DBF .DB )做一下示範,對目前流行的Access等數據庫沒有介紹。這裏將舉例說明對不同格式的數據庫如何設定別名

標准格式的數據庫(STANDARD)

Delphi的標准格式數據庫指的是Paradox的數據庫(擴展名爲DB)和dBase類型的數據庫(擴展名爲DBF)。對這兩種數據庫,在設定數據庫組件的DataBaseName屬性時可以不需要別名,直接輸入.DB、.DBF文件所在的路徑即可。如:C:\Data。但基于上面所述原因,我們最好還是設定數據庫別名。對Paradox、Foxpro、dBase類型的數據庫,在BDE Administrator的Object菜單中執行「new…」菜單項(或在BDE界面內任何處單擊鼠標右鍵即可彈出快捷菜單,從中選擇「new…」),將會彈出一個數據庫驅動程序名窗體,默認格式爲STANDARD。單擊「OK」按鈕,在DataBase卡中出現新的數據庫別名「STANDARD1」,用戶可以修改爲自己所喜歡的名字,這裏我們修改爲「mydatabase」,在右邊的「Definition」卡中用戶可定義數據驅動程序,單擊「DEFAULT DRIVER」後的輸入框從列表中選擇,這裏我們選擇paradox。接下來設定PATH參數,單擊PATH後輸入框,可直接輸入C:\Data,或單擊後面的選擇目錄按鈕打開類似于文件夾管理器的界面來選擇數據表文件目錄。然後在「mydatabase」數據庫別名上單擊右鍵,選擇「Apply」(應用)即可。這樣mydatabase就是數據庫C:\Data(此路徑下爲數據表)的別名。

Access數據庫別名的設定和連接

Delphi自3.0版本開始對Access數據庫提供了支持。對Access數據庫的支持有兩種連接方式。一種是本地(Native)數據庫連接,另一種是ODBC(Open Database Connectivity)開放式數據庫連接。本地方式(native),同前面DBF格式數據庫別名設定步驟類似,在創建新的別名(這裏別名爲test.mdb)時,從Database Driver Name下拉列表中選擇「MSACCESS」,在Definition卡中設定好DataBase Name如「C:\Data\Demo.mdb」,LANGDRIVER參數中可選擇「Access General」,因爲似乎BDE沒有提供象DBF數據庫那樣中文語言驅動,其余的參數可不輸入。

ODBC方式。用這種方式主要是對數據源進行設定(其實就是設定數據庫別名)。初學者對ODBC一般感到很深奧,其實並不神秘,下面詳細說明操作方法。在win9X控制面板中的「32位ODBC」,雙擊打開ODBC 數據源管理器,如圖2-2所示。

單擊「添加」按鈕後界面如圖2-3,從中選擇驅動程序,這裏選擇「Microsoft Access Driver(*.mdb)」,單擊「完成」,界面爲圖2-4所示。在「數據源名(N):」輸入數據源名稱如「myAccess 」,單擊「數據庫」框中的DataBase的「選取(S)…」按鈕選擇要打開的MDB數據庫,再單擊「高級」按鈕,在這裏可輸入「設定名稱」、「密碼」,無密碼不輸。

單擊「確定」返回後再單擊「確定」按鈕,返回界面(圖2-5),從中可發現用戶剛設定的數據源名稱「myAccess file」已經出現在列表中,如要修改可單擊「配置」按鈕,無誤後單擊「確定」退出。至此,我們已正確設定了數據源。下面打開BDEAdministrator,

你會發現什麽?別名列表中出現了「myAccess 」,它就代表了C:\Data\demo.mdb數據庫。也就是說在ODBC中設定的數據源名稱就是數據庫demo.mdb的別名,不需要BDE設定就可以使用了(如需要可以在BDE中設定一下其它的參數),在數據庫組件的DataBaseName屬性列表中選中它就可以使用了。

如果不滿意這個別名(數據源名)可以按下面的方法去做,在BDE中創建新的別名時在Dadabase Driver Name 中選擇「Microsoft Access Driver(*.mdb)」,然後輸入新的別名。如「myAccess good」,在Definition卡中設定參數ODBC DSN時選擇「myAccess」 (數據源名) 。其它的就和前面一樣了。這樣myAccess good就是demo.mdb數據庫的別名。如果這樣做demo.mdb就有了兩個別名了,建議直接用數據源名做別名(這樣簡單些)。

另外一種在BDE中直接建立ODBC方式的方法是:單擊鼠標右鍵,選擇」new」,從Database Driver Name下拉列表中選擇「Microsoft Access Driver(*.mdb)」,自動生成一個如ODBC1的數據庫別名,你可以把它修改爲自己喜愛的名字。在別名ODBC1上單擊鼠標郵件,選擇「ODBC Administrator」也可以打開ODBC數據源管理器。其余的步驟同上。但這裏常會出現一些問題,在爲ODBC1設定參數ODBC DSN時會找不到剛設定的數據源,新設定的數據源也不會以別名的方式出現,需要關閉BDE再重新打開才行。不如直接在控制面板中打開ODBC設定數據源來的方便。其實,對于ODBC方式訪問數據庫,可以說BDE只起到一個簡單的管理作用,並沒有太多的實際意義。

Excel文件的工作表別名設定

對于Excel文件來說,也需要使用ODBC建立數據源,方法和用ODBC建立Access

數據庫別名是一樣的,可參考上面的介紹。

服務器數據庫別名設定。服務器數據庫如Oracle、Sybase、Informix、Microsoft SQL Server、 Intrbase等,它們的別名設定可以用本地或ODBC方式設定(需要安裝驅動程序)。和前面設定別名的操作基本一樣。不一樣的地方主要爲在Definition參數設定中有一個數據庫服務器名稱(Server Name)需要正確設定。

這裏說明一點:對于本地數據庫如dBase、Foxpro、Paradox數據庫也可用ODBC方式訪問,只不過一般沒有必要。

用SQL Explore建立數據庫別名和連接

在Delphi5.0的DataBase菜單中有一個Explore菜單項,執行它將出現SQL Explorer運行窗口,和BDE的運行界面非常相似,在這裏進行建立別名和連接的操作和在BDE中完全一樣。用SQLExplore建立別名和連接的優點是,建立好別名和連接後,在右邊的窗體中可打開數據表、查看字段屬性、查看數據表內容、進行SQL操作。

下面我們來介紹一下Configuaration選項卡。此選項主要用來供用戶查看、修改驅動程序及系統的配置信息。分兩大部分,一是Driver。Driver下又分爲native(本地方式)和ODBC方式,本地方式下列出了目前可用的本地數據庫及驅動配置,我們選擇MSACCESS來看看右邊列出的信息,其中重要的兩個配置爲:DLL32:IDDA3532.DLL ,DATABASENAME 爲:DRIVE:/PATH/DATABASE.MDB,前者說明數據庫驅動程序,後者說明數據庫名稱的輸入方式應該是驅動器/路徑/MDB數據庫名字。這裏順便說一下,用delphi5或delphi4自帶的制做安裝盤的軟件IS Express制做出來的MSAccess數據庫的安裝程序把BDE打包安裝後,運行執行文件,總會出現非法錯誤,經仔細檢查發現安裝後DLL32設定的是IDDAO32.DLL,將其修改爲IDDA3532.DLL就可以正常運行了。ODBC下列出的是目前可用的ODBC驅動程序的配置信息。二是system,在system下設定的是通用的系統配置信息。其中INIT設定的是設計一個應用系統的初始默認設置。FORMAT下可設定DATE、TIME、NUMBER三個常用配置信息。

在DATE中,我們可以設定如下:

SEPARATOR 用來確定用什麽樣的分隔符來將年、月、日分開。

MODE 控制如何顯示日期格式,有三種方式:0-MDY,1- DMY, 2-YMD,按中國人的習慣應該爲2(年月日),在安裝BDE時缺省將根據控制面板中的設定配置。

FOURDIGITYEAR是否采用四位年份,缺省情況是用2位,只不過現在我們都應該用四位了。如果設定爲false, 則在01/01/00 至12/31/49將被認爲是21世紀,如果在01/01/50 至12/31/99被認爲屬于20世紀

YEARBIASED設定是否將用戶輸入的兩位年份在保存時改爲4位,缺省爲TRUE.

LEADINGZEROM 設定是否將用戶輸入的10月份以前的月份自動添加0,比如將1/1/80 變爲01/1/80

LEADINGZEROD 設定是否將用戶輸入的10日以前的日期自動添加0,比如將1/1/80 變爲1/01/80

至于TIME和NUMBER設定就很簡單了,讀者自己看看就明白了。

通過這一講我們知道如何設定常用類型的數據別名了,下一講我們就開始設計一個數據庫應用程序並講解用到的數據庫組件等內容了,希望讀者能堅持讀下去!

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
在本講中,我們重點介紹一下BDE和數據庫別名的有關知識,這是操作數據庫的基礎。 要想學習寫數據庫程序,首先必須對BDE要有所了解。BDE有一個操作介面供用戶在寫程序時對數據庫進行配置一些信息,安裝完畢後在程序組中可以直接找到執行,其執行程序爲bdeadmin.exe,運行它會出現如下的介面。 介面的左半部分有兩個選項卡,一個是DataBase,另一個是Configuaration,我們先來介紹Database。 單擊Database選項卡,將會列出目前系統中所有的數據庫別名。那麽數據庫別名是什麽呢?數據庫別名是初學用Delphi進行數據庫編程首先碰到的一個問題。Delphi中的許多數據庫組件都需要指明數據庫名稱,數據庫名稱可以直接指定,如C:\DATA\DEMO.MDB,但在代碼中可能多處需要使用數據庫名稱,如果都這樣直接使用數據庫的絕對路徑名稱,寫起來比較麻煩,但更麻煩的事情在于如果用戶改變了數據庫的存放路徑(如在安裝時讓用戶指定安裝目錄)或數據庫名稱,已編寫好的程序(EXE文件)將無法正常工作,即使在編程階段,也要對所有的代碼都進行修改,是否太麻煩了,此時我們最好給數據庫另取一個名字,這就是別名,此別名代替數據庫的真實路徑、名稱,用戶在編程中不必考慮數據庫存放在何處,如果數據庫的絕對路徑或名稱修改了,只需修改別名的配置信息即可,用戶的程序無需做任何修改。還有另外一個重要的原因是:在設定數據庫別名時,用戶需要指明數據庫類型,這樣Delphi才知道使用什麽樣的數據庫驅動程序。如果直接用數據庫絕對路徑和數據庫真實名稱,在使用時需要在程序中用代碼指定數據庫類型,這樣做實在太麻煩了。所以,建議還是使用數據庫別名。 數據庫別名設定和數據庫連接。這裏就如何設定數據庫別名做詳細的介紹。這也是初學者用Delphi進行數據庫編程時比較頭疼的一個問題。許多有關書籍都講的不詳細,即使講也只是用標准格式(.DBF .DB )做一下示範,對目前流行的Access等數據庫沒有介紹。這裏將舉例說明對不同格式的數據庫如何設定別名 標准格式的數據庫(STANDARD) Delphi的標准格式數據庫指的是Paradox的數據庫(擴展名爲DB)和dBase類型的數據庫(擴展名爲DBF)。對這兩種數據庫,在設定數據庫組件的DataBaseName屬性時可以不需要別名,直接輸入.DB、.DBF文件所在的路徑即可。如:C:\Data。但基于上面所述原因,我們最好還是設定數據庫別名。對Paradox、Foxpro、dBase類型的數據庫,在BDE Administrator的Object菜單中執行「new…」菜單項(或在BDE界面內任何處單擊鼠標右鍵即可彈出快捷菜單,從中選擇「new…」),將會彈出一個數據庫驅動程序名窗體,默認格式爲STANDARD。單擊「OK」按鈕,在DataBase卡中出現新的數據庫別名「STANDARD1」,用戶可以修改爲自己所喜歡的名字,這裏我們修改爲「mydatabase」,在右邊的「Definition」卡中用戶可定義數據驅動程序,單擊「DEFAULT DRIVER」後的輸入框從列表中選擇,這裏我們選擇paradox。接下來設定PATH參數,單擊PATH後輸入框,可直接輸入C:\Data,或單擊後面的選擇目錄按鈕打開類似于文件夾管理器的界面來選擇數據表文件目錄。然後在「mydatabase」數據庫別名上單擊右鍵,選擇「Apply」(應用)即可。這樣mydatabase就是數據庫C:\Data(此路徑下爲數據表)的別名。 Access數據庫別名的設定和連接 Delphi自3.0版本開始對Access數據庫提供了支持。對Access數據庫的支持有兩種連接方式。一種是本地(Native)數據庫連接,另一種是ODBC(Open Database Connectivity)開放式數據庫連接。本地方式(native),同前面DBF格式數據庫別名設定步驟類似,在創建新的別名(這裏別名爲test.mdb)時,從Database Driver Name下拉列表中選擇「MSACCESS」,在Definition卡中設定好DataBase Name如「C:\Data\Demo.mdb」,LANGDRIVER參數中可選擇「Access General」,因爲似乎BDE沒有提供象DBF數據庫那樣中文語言驅動,其余的參數可不輸入。 ODBC方式。用這種方式主要是對數據源進行設定(其實就是設定數據庫別名)。初學者對ODBC一般感到很深奧,其實並不神秘,下面詳細說明操作方法。在win9X控制面板中的「32位ODBC」,雙擊打開ODBC 數據源管理器,如圖2-2所示。 單擊「添加」按鈕後界面如圖2-3,從中選擇驅動程序,這裏選擇「Microsoft Access Driver(*.mdb)」,單擊「完成」,界面爲圖2-4所示。在「數據源名(N):」輸入數據源名稱如「myAccess 」,單擊「數據庫」框中的DataBase的「選取(S)…」按鈕選擇要打開的MDB數據庫,再單擊「高級」按鈕,在這裏可輸入「設定名稱」、「密碼」,無密碼不輸。 單擊「確定」返回後再單擊「確定」按鈕,返回界面(圖2-5),從中可發現用戶剛設定的數據源名稱「myAccess file」已經出現在列表中,如要修改可單擊「配置」按鈕,無誤後單擊「確定」退出。至此,我們已正確設定了數據源。下面打開BDEAdministrator, 你會發現什麽?別名列表中出現了「myAccess 」,它就代表了C:\Data\demo.mdb數據庫。也就是說在ODBC中設定的數據源名稱就是數據庫demo.mdb的別名,不需要BDE設定就可以使用了(如需要可以在BDE中設定一下其它的參數),在數據庫組件的DataBaseName屬性列表中選中它就可以使用了。 如果不滿意這個別名(數據源名)可以按下面的方法去做,在BDE中創建新的別名時在Dadabase Driver Name 中選擇「Microsoft Access Driver(*.mdb)」,然後輸入新的別名。如「myAccess good」,在Definition卡中設定參數ODBC DSN時選擇「myAccess」 (數據源名) 。其它的就和前面一樣了。這樣myAccess good就是demo.mdb數據庫的別名。如果這樣做demo.mdb就有了兩個別名了,建議直接用數據源名做別名(這樣簡單些)。 另外一種在BDE中直接建立ODBC方式的方法是:單擊鼠標右鍵,選擇」new」,從Database Driver Name下拉列表中選擇「Microsoft Access Driver(*.mdb)」,自動生成一個如ODBC1的數據庫別名,你可以把它修改爲自己喜愛的名字。在別名ODBC1上單擊鼠標郵件,選擇「ODBC Administrator」也可以打開ODBC數據源管理器。其余的步驟同上。但這裏常會出現一些問題,在爲ODBC1設定參數ODBC DSN時會找不到剛設定的數據源,新設定的數據源也不會以別名的方式出現,需要關閉BDE再重新打開才行。不如直接在控制面板中打開ODBC設定數據源來的方便。其實,對于ODBC方式訪問數據庫,可以說BDE只起到一個簡單的管理作用,並沒有太多的實際意義。 Excel文件的工作表別名設定 對于Excel文件來說,也需要使用ODBC建立數據源,方法和用ODBC建立Access 數據庫別名是一樣的,可參考上面的介紹。 服務器數據庫別名設定。服務器數據庫如Oracle、Sybase、Informix、Microsoft SQL Server、 Intrbase等,它們的別名設定可以用本地或ODBC方式設定(需要安裝驅動程序)。和前面設定別名的操作基本一樣。不一樣的地方主要爲在Definition參數設定中有一個數據庫服務器名稱(Server Name)需要正確設定。 這裏說明一點:對于本地數據庫如dBase、Foxpro、Paradox數據庫也可用ODBC方式訪問,只不過一般沒有必要。 用SQL Explore建立數據庫別名和連接 在Delphi5.0的DataBase菜單中有一個Explore菜單項,執行它將出現SQL Explorer運行窗口,和BDE的運行界面非常相似,在這裏進行建立別名和連接的操作和在BDE中完全一樣。用SQLExplore建立別名和連接的優點是,建立好別名和連接後,在右邊的窗體中可打開數據表、查看字段屬性、查看數據表內容、進行SQL操作。 下面我們來介紹一下Configuaration選項卡。此選項主要用來供用戶查看、修改驅動程序及系統的配置信息。分兩大部分,一是Driver。Driver下又分爲native(本地方式)和ODBC方式,本地方式下列出了目前可用的本地數據庫及驅動配置,我們選擇MSACCESS來看看右邊列出的信息,其中重要的兩個配置爲:DLL32:IDDA3532.DLL ,DATABASENAME 爲:DRIVE:/PATH/DATABASE.MDB,前者說明數據庫驅動程序,後者說明數據庫名稱的輸入方式應該是驅動器/路徑/MDB數據庫名字。這裏順便說一下,用delphi5或delphi4自帶的制做安裝盤的軟件IS Express制做出來的MSAccess數據庫的安裝程序把BDE打包安裝後,運行執行文件,總會出現非法錯誤,經仔細檢查發現安裝後DLL32設定的是IDDAO32.DLL,將其修改爲IDDA3532.DLL就可以正常運行了。ODBC下列出的是目前可用的ODBC驅動程序的配置信息。二是system,在system下設定的是通用的系統配置信息。其中INIT設定的是設計一個應用系統的初始默認設置。FORMAT下可設定DATE、TIME、NUMBER三個常用配置信息。 在DATE中,我們可以設定如下: SEPARATOR 用來確定用什麽樣的分隔符來將年、月、日分開。 MODE 控制如何顯示日期格式,有三種方式:0-MDY,1- DMY, 2-YMD,按中國人的習慣應該爲2(年月日),在安裝BDE時缺省將根據控制面板中的設定配置。 FOURDIGITYEAR是否采用四位年份,缺省情況是用2位,只不過現在我們都應該用四位了。如果設定爲false, 則在01/01/00 至12/31/49將被認爲是21世紀,如果在01/01/50 至12/31/99被認爲屬于20世紀 YEARBIASED設定是否將用戶輸入的兩位年份在保存時改爲4位,缺省爲TRUE. LEADINGZEROM 設定是否將用戶輸入的10月份以前的月份自動添加0,比如將1/1/80 變爲01/1/80 LEADINGZEROD 設定是否將用戶輸入的10日以前的日期自動添加0,比如將1/1/80 變爲1/01/80 至于TIME和NUMBER設定就很簡單了,讀者自己看看就明白了。 通過這一講我們知道如何設定常用類型的數據別名了,下一講我們就開始設計一個數據庫應用程序並講解用到的數據庫組件等內容了,希望讀者能堅持讀下去!
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有