程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB5.0數據庫編程經驗小集

VB5.0數據庫編程經驗小集

編輯:VB綜合教程

  長期用VB50進行數據庫應用軟件的編程,遇到過不少問題,走了不少彎路,也積累了不少經驗。在此,將它們做個小結,希望對同樣從事VB50編程的朋友有所幫助。

  1、在Form_Load事件中不能對Data控件進行控制

  如果確實需在窗體被打開時使用Data控件,可在Form_Activate事件中進行控制。由於Activate事件在窗體被激活時發生,就是說在窗體被打開時發生,同時在窗體得到焦點時也會發生。要區分是否為窗體被打開的情況,只要設置一變量,在第一次Activate事件發生時對Data控件進行控制,然後對此變量進行設置,使以後的Activate事件不再執行對Data控件進行控制的語句。

  2、DBGrid控件列寬的控制

  在設計時可通過DefColWidth屬性來設置列寬,但這樣無法為不同的列設置不同的寬度。那麼到底要怎麼分別設置每一列的寬呢?這同樣可在窗體的Activate事件中實現。

  Form_Activate()

  DBGrid1盋olumns(0)盬idth=1000 ′為第一列設置寬度

  DBGrid1盋olumns(1)盬idth=2500 ′為第二列設置寬度

  DBGrid1盋olumns(2)盬idth=1000 ′為第三列設置寬度

  End Sub

  3、IsNull函數的應用

  判斷一值是否為空,要用IsNull函數來實現,而不能用判斷語句來實現,例如:

  If Data1盧ecordset盕ields(1)盫alue=NULL Then

  ′要執行的語句

  End If

  這樣無論Data1盧ecordset盕ields(1)盫alue的值是否為NULL,要執行的語句都執行不了,因為(Data1盧ecordset盕ields(1)盫alue=NULL)永遠等於False,所有含有“NULL”的判斷式的值都是False。正確的處理方法為:

  If IsNull(Data1盧ecordset盕ields(1)盫alue)=True Then

  ′要執行的語句

  End If

  不明白的地方可查找關於“IsNull”函數的說明和幫助。

  4、使用FoxPro數據庫

  大家知道打開Access數據庫很簡單,比如要打開一個當前目錄下名為“book眒db”的數據庫文件,如下所示:

  Dim db1 As Database ′定義變量

  Set db1=OpenDatabase(″book眒db″) ′打開數據庫文件

  如果要打開的是FoxPro數據而不是Access數據怎麼辦呢?首先要明白FoxPro中所謂的數據庫只是Access中的表而已。其打開方法亦很簡單,如下:

  Dim db1 As Database

  Set db1=OpenDatabase(″C:BOOK″,False,False,″FoxPro 25″)

  ′BOOK為一包含所要FoxPro數據庫文件(*眃bf)的目錄

  在這裡用FoxPro數據庫文件的目錄來代替Access中的數據庫名。在使用中,“C:BOOK”目錄下的所有dbf文件都是db1的表,表名即為文件名除去“眃bf”。其它的使用方法都和用Access數據庫時一樣。如有不明之處,請查閱關於“OpenDatabase”函數的說明和幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved