經驗之談VB.NET數據庫
在VB的開發環境中,可以使用三種數據庫訪問方式,它們分別是:數據訪問對象(DAO)、遠程數據對象(RDO)和ADO對象模型。VB.NET數據庫訪問技術是在工作總結出來的。結合近幾年的開發經驗,給出一些開發經驗和小技巧,以供參考:
VB.NET數據庫經驗一:如果數據量不大,而且要求開發周期短的情況,建議使用DAO+Access雖然DAO功能并不強大,但是其對Jet引擎進行了加速優化處理,所以這種搭配應該是比較好的選擇。
VB.NET數據庫經驗二:RDO當前已經用的很少了,一般用ADO來替代。
VB.NET數據庫經驗三:(本經驗很重要)使用ADO開發時,連接數據庫的方式有三種(前面已經敘述了),其中DSN需要用戶首先使用要將所要操縱的數據庫設置為數據庫源并給其命名。方法是在控制面板->管理工具->數據源(ODBC)下面進行配置。比如設置的數據源名稱為data,那么可以通過下面幾行代碼來連接數據庫:
- Dim conn As New ADODB.Connection
- Dim rs As New ADODB.Recordset
- '連接數據庫
- conn.Open "dsn=data"
- '打開數據源(即選定操作的數據對象)
- rs.Open SQL語句, conn
但是如果是使用ODBC和OLEDB的方式進行連接,那么大家一定知道在連接字符串上那一長串的代碼,不要說對于初學者,就是對于那些經驗豐富的程序員來說,也很難記住這一串代碼。那么如何可以記住這一串代碼呢?其實,方法很簡單,只要添加一個ADO Data控件,然后在其屬性框中使用向導進行設置后,那么最后向導就會自動生成一段ConnectionString,只需要將這一行代碼拷貝下來然后放到conn.open之后的連接字符串參數的位置上就可以了。這條經驗希望讀者能夠記住,實際開發中很實用。
VB.NET數據庫經驗四:前面講到手動設置ODBC數據源,這里可以通過程序來進行動態設置。首先要清楚的是ODBC的詳細信息全部存放在注冊表的下述鍵值內:"HKEY_LOCAL_MACHINE\SOFTWARE\ODBC",通過調用Win32函數WriteProfileString來對相應的鍵值進行修改即可達到目的。
VB.NET數據庫經驗五:通常將數據庫的連接代碼和資源釋放代碼放入各自特定的函數里面,因為一般大一點的程序里需要經常對這兩個功能模塊進行調用,這樣做就可以提高效率,當然很多時候都需要寫成連接池的形式。
VB.NET數據庫經驗六:使用VB在SQL中處理含單引號的字符串時,對字符串數據都用單引號引起來,如:
- Select * from MyTable Where ID='FirstID'
若其中的FirstID為First'ID,即中間多出一個單引號,則上述寫法將導致錯誤,解決的辦法是將字符串中的每一個單引號用兩雙引號替換,下面的函數StrToSQL完成該功能,并用單引號將處理后的字符串引起來:
- Private Function StrToSQL(ByVal strValue As String) As String
- StrToSQL = "'" + Replace(strValue, "'", "''") + "'"
- End Function
在寫SQL時如有字符串數據,不管其中有沒有單引號,都可以這樣使用:
- strValue="First'Id"
【編輯推薦】