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