摘 要:本文探討了在VB中使用SQL語句建立表和字段的簡單方法。
關鍵詞:VB;數據庫; Access型數據庫; SQL語句
中圖分類號:G254 文獻標識碼:A 文章編號:1006-3315(2010)6-153-001
Visual Basic是目前廣泛應用的編程語言,具有易于學和使用、開發效率高等優點。VB同樣提供了對數據庫技術的支持。作者通過對相關資料進行研究后,得到VB操作數據庫的一些基本方法。
VB直接支持的數據庫格式為Access型類型,其他類別的數據庫視為外來數據庫,其次VB是將數據庫作為對象進行操作的。在Access數據庫中一個數據庫文件(*。mdb文件)中包含了若干個表(table),同時包含索引(Index),關系(Relation)備注字段(Memo)等眾多內容,也就是說,Access數據庫只需一個文件就可以包含多個表,管理起來較為方便。
VB企業版中,一般單用戶時的操作比較簡單,多用戶時的操作非常復雜,其中涉及到數據庫、表、索引關系等對象的打開權限、修改權限、記錄鎖定等問題。下面僅就單用戶的操作介紹一下數據庫的操作中的一些重要的方法。
一、數據庫的建立
⑴數據庫文件的建立:
命令如下:
SET數據庫對象變量=Createdatabase(數據庫文件名,排序時使用的語言代碼頁常數,版本常數)
例:DIM Mydatabase AS Database’定義一個數據庫變量:Mydatabase
SET Mydatabase=Createdatabase(“Mydata.mdb”,dblang-ChineseSimplified,dbVersion30)’建立數據庫:Mydata.mdb
這條命令只創建了一個空的數據庫。要使用數據庫必須在數據庫中建立表(Table)。
⑵表和字段的建立
在VB企業版中,提供了使用SQL語句建立表和字段的簡單方法,例:
CommonDialog1. ShowOpen
DBname=CommonDialog1 FileName
Set myDatabase =CreateDatabase(DBname, dblangChinese Simplified,dbVersion30)’建立一個數據庫文件
myDatabase. Execute“create table 班級情況(班級名稱text, 入學年份single,本班人數single);”用SQL語句建立表
索引的建立
可用SQL語句,簡單地建立索引。方法如下
數據庫對象變量。Execute “Create Index 索引名on表名(字段名):
例:myDatabase.Execute“Create Index tmpIndex on班級情況(班級名稱);建立索引
SQL語句是以字符串的形式嵌在VB程序行中的,可以是任何字符串類型的表達式,但應合乎SQL的語法規則。
二、數據庫的打開
要操作數據庫必須先打開數據庫并創建數據庫對象,操作表也必須先創建表對象。打開數據庫使用Opendatabase方法并同時建立數據庫對象,方法如下:
SET數據庫對象變量=Opendatabase(數據庫文件名,打開方式選項,只讀特性,連續特性)
例:CmmonDialog1. ShowOpen
DBname=“”Then Exit Sub’數據庫名稱不能為空
Set myDatabase=OpenDatabase (DBname)’打開數據庫
MsgBox“打開數據庫” DBname “成功”
打開數據庫Mydata.mdb 的同時創建了數據庫對象變量Mydatabase.
三、數據庫的修改
數據庫的修改也就是關系模式的修改,主要是指:①表的添加和刪除;②表中字段的添加、修改和刪除;③索引的添加和刪除。添加的操作就是建立的過程,前面已有說明。下面就各項刪除操作進行介紹。刪除操作比較簡單,只需用Delete 方法,操作如下:
1)刪除表
數據庫對象變量.Tabledefs. Delete 表名
2)刪除字段:
數據庫對象變量.Tabledefs. (表名).Delete 字段名
3)刪除索引
數據庫對象變量. Tabledefs. (表名).Indexes. Delete索引名稱。
刪除字段和索引時必須注意,只有沒有索引和連接關系的字段才能刪除,只有沒有連接關系的索引才能刪除。
四、記錄的處理
VB中沒有字段變量的概念,對記錄的操作是依靠記錄集對象(Recordset) 進行的,上述建立的“班級情況”表中,當前記錄為第一個記錄時,Recordset(0) 代表“班級名稱”字段的值,Recordset(1)代表“入學年份”字段的值, Recordset(2)代表“本班人數”字段的值。也可以用Recordset(“班級名稱”)表示Recordset(0),用Recordset (“入學年份”)表示Record(1),等等。
移動記錄的操作:Movenext(向下移動一條記錄)、Moveprevious(向上移動一條記錄)。更新記錄先采用Edit方法,再設置記錄的新值,然后用Update方法進行更新操作。刪除記錄集時用記錄集的Delete方法進行。增加新記錄用AddNew方法進行。
VB本身是一種面向對象的語言,在VB中對數據庫的操作中允許使用SQL語句,從而簡化了某些操作。上述只是一些基本操作。對于更深層的操作,如關系模型完整性的實現,還需進一步探討。
參考文獻:
[1]薩師煊,王珊.數據庫系統概論。高等教育出版社,1990
[2]Microsoft Developer Network.Microsoft Corp. 2001