請注重,指定控制 Access 數據庫安全性的 .mdw 文件時需要使用 Jet OLE DB 特定的屬性。假如希望更好地控制數據庫的行為,則可以瀏覽 Jet OLE DB 提供程序(該提供程序位于 Appendix B:Microsoft Jet 4.0 OLE DB Properties Reference)所提供的其他屬性,來控制鎖定行為和如何處理特定類型的失敗,等等。請注重,只有那些可以在連接字符串中設置的屬性才可以訪問;指定提供程序的屬性之前需要連接處于打開狀態,否則將無法設置這些屬性。
可以使用 Microsoft® Visual Studio® .NET,來獲取包括所有的 Jet OLE DB 提供程序設置、完整的 Access 連接字符串的模板。在服務器資源治理器中創建一個與 Access 數據庫的數據連接,然后使用工具箱的數據部分創建一個 OleDbConnection 對象。得到的對象的 ConnectionString 屬性會包含默認的所有 Jet OLE DB 提供程序屬性。
SELECT City, Neighborhood, SalePrice, MonthsOnMarket FROM RealEstate WHERE ListingDate > #1/1/04#
有關這些問題的具體信息,請參閱 Date and Time Criteria Expressions。
需要記住的另一點看上去似乎顯而易見,但是卻使人們感到困惑,所以我將討論這一點:請確保 Access 表的列名稱不使用保留字??梢栽?SQL Reserved Words 處查詢保留字。假如使用任何保留字,我想說的是假如可能就重命名列。我知道假如您已使用數據庫,該操作則不太可能,所以必要時可以創建查詢并將其用作有問題列的表的替換查詢。僅使用 AS 重命名列,就如:
SELECT Artists.ArtistName, Genres.Genre, Labels.Label, Tracks.Public AS Track, Releases.ReleaseName FROM (Labels INNER JOIN ((Artists...
記住這些要點,讓我們來看一個示例:
Imports System Imports System.Data Imports System.Data.OleDb ... Public Function GetAccessData(ByVal UID As String, _ ByVal pwd As String, ByVal artist As String)
Dim conn As New OleDbConnection Dim musicReader As OleDbDataReader Dim cmd As New OleDbCommand Dim connString As String Dim i As Integer
'設置命令屬性。 cmd.Connection = conn cmd.CommandText = "SELECT * from music " & _ "WHERE ArtistName = '" & artist & "'"
' 獲取 OleDbDataReader ' 并對其進行一些處理。 musicReader = _ cmd.ExecuteReader(CommandBehavior.CloseConnection) Try While (musicReader.Read) '處理數據。 End While Finally musicReader.Close() End Try