【问题标题】:Reading tables using OleDBConnection使用 OleDBConnection 读取表
【发布时间】:2014-04-04 22:43:37
【问题描述】:

首先,我是 VB 新手,这是我第一个使用 OleDBConnection 的项目。

好的,所以我正在尝试使用 oleDbConnection 做最简单的事情(我假设)。我只想从 Access DB 中的表中读取数据并将该信息显示到我的 winForm 中的保管箱(或任何东西)。

Public Class QueManger
Dim dbConnection As OleDbConnection
Dim dbCommand As OleDbCommand
Dim dbDataAdapter As OleDbDataAdapter
Dim ConnectString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = \\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb"
Dim dtMain As DataTable

Private Sub QueManger_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    StatusName()
End Sub

Private Sub StatusName()
    Dim taxconn As OleDbConnection
    Try

        taxconn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb")
        Dim taxcmd As OleDbCommand = taxconn.CreateCommand
        taxcmd.CommandText = "SELECT StatusName FROM Status ORDER BY StatusName"
        Dim rdr2 As OleDbDataReader
        If taxconn.State = ConnectionState.Closed Then
            taxconn.Open()
        End If
        rdr2 = taxcmd.ExecuteReader

        'boxStatus.Items.Add("All")
        While rdr2.Read()
            boxClient.Items.Add(rdr2.Item("StatusName"))
        End While
    Catch ex As Exception

    Finally
        taxconn.Close()
    End Try
End Sub

尝试运行“taxconn.Open()”函数时出现错误。

错误提示“Microsoft Access 数据库引擎无法打开或写入文件 '\atrts10\F:\Applications\ARTaxCert\Development\mtaylor\TaxCert_be_test.accdb'。它已被其他用户以独占方式打开,或者您需要权限才能查看和写入其数据。”

有什么想法吗?

【问题讨论】:

  • 您可能在 MS Access 中打开了该文件。我相信这通常不是问题,除非您当前在 Access 中为表格或其他东西打开了设计窗口。
  • 就是这样。我认为这就是问题所在。当人们使用数据库时,我试图在工作中处理这段代码,所以我决定制作一个数据库副本只是为了我的开发,它仍然会出现错误。只有我知道这个版本的数据库。

标签: vb.net oledb oledbcommand


【解决方案1】:

如果您正在编辑它们,请尝试先在 access 中关闭打开的表,并尝试在字符串前添加“@”以使用您的路径。 然后尝试使用这个连接字符串;

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + yourDataBasePath + ";Persist Security Info=False;";

【讨论】:

  • 不要将 C# 与 VB.NET 混淆 :)
  • oups :p 我想现在为我工作太晚了 :p 对不起大家
  • 是的,我知道它是 C#,但我仍然尝试过。当然没有运气。就像我说过的,我是唯一知道这个版本的数据库的人——所以我知道没有其他人在使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多