请注重,指定控制 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