何 彤 劉冬莉
(沈陽建筑大學(xué)信息學(xué)院 遼寧 沈陽 110168)
VF數(shù)據(jù)庫是國家非計算機(jī)專業(yè)計算機(jī)等級考試的一個組成部分,在實際應(yīng)用中VF具有強(qiáng)大的信息數(shù)據(jù)管理功能。VF數(shù)據(jù)庫既包含對數(shù)據(jù)庫的各種管理和操作應(yīng)用,還包含對數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)與設(shè)計,在非計算機(jī)本科生的課程設(shè)計教學(xué)中提高學(xué)生的VF數(shù)據(jù)庫技術(shù)應(yīng)用能力,努力發(fā)掘同學(xué)們的創(chuàng)新思維,是我們在教學(xué)中的工作重點(diǎn)。為促使學(xué)生更積極的去獲取數(shù)據(jù)庫專業(yè)知識,我們在實際教學(xué)中對VF數(shù)據(jù)庫在數(shù)據(jù)加密和VF中對Excel對象的操作進(jìn)行了一點(diǎn)學(xué)習(xí)和探索。
在VF環(huán)境下開發(fā)的數(shù)據(jù)庫系統(tǒng),由于存儲數(shù)據(jù)的數(shù)據(jù)文件采用了ASCII明文存儲,使得非法用戶可打開數(shù)據(jù)庫文件。因此,為了保證數(shù)據(jù)的安全就須對數(shù)據(jù)的載體DBF文件進(jìn)行加密保護(hù),我們在實驗中鼓勵嘗試學(xué)生采用不同的方法來實現(xiàn)數(shù)據(jù)加密,其中比較簡單易行的方法就是把數(shù)據(jù)文件的ASCII碼信息變成不可直接閱讀的數(shù)據(jù)形式。
我們引導(dǎo)同學(xué)們從關(guān)系型數(shù)據(jù)庫的表、字段、行和數(shù)據(jù)元素等方面出發(fā),采用庫內(nèi)加密的思想。比如說以表為單位。文件型數(shù)據(jù)庫一個文件只有一張表組成,我們采取對表的加密可以說是完成了對文件的加密了。還有一種方法以記錄或字段為單位加密。通常情況下,我們都是以二維表方式來進(jìn)行對數(shù)據(jù)庫的訪問。我們指導(dǎo)同學(xué)可以記錄為單位來進(jìn)行加密,使每一個記錄都有一個密鑰與之匹配,將數(shù)據(jù)庫的每一個記錄加密成密碼文。那么也就是說每讀一條記錄則需進(jìn)行一次加密操作,每寫一條記錄則需進(jìn)行一次解密操作,而對于不需要訪問的記錄,就不需要進(jìn)行任何的操作,在各自密鑰的作用下存放在數(shù)據(jù)庫文件中。記錄的查找是則通過將需要查找的值加密成密碼文后再進(jìn)行查找。課設(shè)中有些同學(xué)還完成了以數(shù)據(jù)元素為單位加密,就是采用asc(),chr()等函數(shù)對字段內(nèi)容做轉(zhuǎn)換;或用低級文件函數(shù)轉(zhuǎn)換庫文件;用低級文件函數(shù)對用文本文件形式記錄的信息進(jìn)行加密。加密形式可有許多復(fù)雜的變化,可考慮密碼加密參照用戶名使同一密碼不同用戶密文也不同。通過實際操作學(xué)習(xí)同學(xué)們了解了加密實現(xiàn)的方法各有不同,也都有優(yōu)劣之處,相信隨著數(shù)據(jù)庫加密技術(shù)的發(fā)展,數(shù)據(jù)庫的使用會變得越來越安全,越來越快捷。
總之,通過學(xué)習(xí)同學(xué)們了解了數(shù)據(jù)庫加密技術(shù)的應(yīng)用,學(xué)會了解決了數(shù)據(jù)庫中數(shù)據(jù)的安全問題。
在VF課程設(shè)計中要同學(xué)們實現(xiàn)對表格處理軟件Excel對象的操作,也是我們教學(xué)中的一個特點(diǎn)。我校非計算機(jī)專業(yè)的學(xué)生對Excel有一定的基礎(chǔ)。Excel它自身帶有功能強(qiáng)大的對象庫,并且由于Excel對于OLE技術(shù)的支持,使得同學(xué)們能很方便的將Excel對象加入到其它支持OLE技術(shù)的開發(fā)軟件中,可以在VF開發(fā)環(huán)境下編寫代碼對Excel對象進(jìn)行操作,完成從電子表格中提取數(shù)據(jù)。
在教學(xué)中先讓同學(xué)們了解Excel對象分層結(jié)構(gòu)組織,某些對象包含在其它對象之中,最頂層的對象是Application,所有其它對象都在Application之下。從電子表格中提取數(shù)據(jù)要用到的對象及它們的層次結(jié)構(gòu)如下:
以上對象中Application屬于單個對象,其它的屬于集合對象,當(dāng)把集合對象看成是一個對象時,用對象名直接使用。把集合看成是一組對象時,要用索引指出是集合中的哪個具體對象,比如:Workbooks(“studentbookl.xls”)用 Excel文件名作為索引,指出是studentbookl這個具體的工作簿對象。Worksheets(“sheet1”)用工作表名作為索引,指出是名稱為sheetl的具體的工作表對象。Range(“tl”)用單元格名稱作為索引。Cells(10,10)用單元格所在的行列作為索引,指出是表格中第10行,第10列這個單元格對象。引用Excel中的對象有時必須給出到達(dá)該對象路徑上的所有對象,例如要編寫代碼打開c:studentbook1.xls工作簿,然后將第一個工作表上的第一個單元格中放入一個值,編寫如下代碼:
在實踐中同學(xué)們學(xué)會了在VF中對Excel對象進(jìn)行操作的步驟:(1)將Excel的Application對象指定給VF的對象型變量。(2)利用指定的VF對象變量訪問Excel的對象。(3)當(dāng)Excel對象不再使用時終止它的執(zhí)行。要將Application對象送給VF變量,要用creatobject函數(shù)完成。當(dāng)Excel對象不再使用時,用Application的Quit方法關(guān)閉對Excel對象的使用。
通過學(xué)習(xí)和實踐使得同學(xué)們初步掌握了VF中對Excel對象的操作方法,取得了較好的學(xué)習(xí)效果。
[1]方智惠,曾剛,楊奔.VaualForpro 開發(fā)人員指南[M].北京:希望電子出版社,2002,10.
[2]郭興成.VsualForpro7.0 開發(fā)實作教程[M].北京:希望電子出版社,2002,11.