top
Loading...
VB5.0數據庫編程經驗小集
長期用VB5.0進行數據庫應用軟件的編程,遇到過不少問題,走了不少彎路,也積累了不少經驗。在此,將它們做個小結,希望對同樣從事VB5.0編程的朋友有所幫助。
1、在Form_Load事件中不能對Data控件進行控制
如果確實需在窗體被打開時使用Data控件,可在Form_Activate事件中進行控制。由于Activate事件在窗體被激活時發生,就是說在窗體被打開時發生,同時在窗體得到焦點時也會發生。要區分是否為窗體被打開的情況,只要設置一變量,在第一次Activate事件發生時對Data控件進行控制,然后對此變量進行設置,使以后的Activate事件不再執行對Data控件進行控制的語句。
2、DBGrid控件列寬的控制
在設計時可通過DefColWidth屬性來設置列寬,但這樣無法為不同的列設置不同的寬度。那么到底要怎么分別設置每一列的寬呢?這同樣可在窗體的Activate事件中實現。
Form_Activate()
DBGrid1?Columns(0)?Width=1000′為第一列設置寬度
DBGrid1?Columns(1)?Width=2500′為第二列設置寬度
DBGrid1?Columns(2)?Width=1000′為第三列設置寬度
End Sub
3、IsNull函數的應用
判斷一值是否為空,要用IsNull函數來實現,而不能用判斷語句來實現,例如:
If Data1?Recordset?Fields(1)?Value=NULL Then
′要執行的語句
End If
這樣無論Data1?Recordset?Fields(1)?Value的值是否為NULL,要執行的語句都執行不了,因為(Data1?Recordset?Fields(1)?Value=NULL)永遠等于False,所有含有“NULL”的判斷式的值都是False。正確的處理方法為:
If IsNull(Data1?Recordset?Fields(1)?Value)=True Then
′要執行的語句
End If
不明白的地方可查找關于“IsNull”函數的說明和幫助。
4、使用FoxPro數據庫
大家知道打開Access數據庫很簡單,比如要打開一個當前目錄下名為“book?mdb”的數據庫文件,如下所示:
Dim db1 As Database′定義變量
Set db1=OpenDatabase(″book?mdb″)′打開數據庫文件
如果要打開的是FoxPro數據而不是Access數據怎么辦呢?首先要明白FoxPro中所謂的數據庫只是Access中的表而已。其打開方法亦很簡單,如下:
Dim db1 As Database
Set db1=OpenDatabase(″C:BOOK″,False,False,″FoxPro ″)
′BOOK為一包含所要FoxPro數據庫文件(*?dbf)的目錄
在這里用FoxPro數據庫文件的目錄來代替Access中的數據庫名。在使用中,“C:BOOK”目錄下的所有dbf文件都是db1的表,表名即為文件名除去“dbf”。其它的使用方法都和用Access數據庫時一樣。如有不明之處,請查閱關于“OpenDatabase”函數的說明和幫助。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗