【问题标题】:synonym for active databaseconnection活动数据库连接的同义词
【发布时间】:2016-10-18 11:49:11
【问题描述】:

在 VB.NET (Visual Studio 2008) 中,我想滚动浏览数据表的记录。我试过这样:

Dim cnnNWind As New ADODB.Connection
Dim rstNwind As New ADODB.Recordset
Dim Test As String

cnnNWind.ConnectionString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Users\Vitali\Desktop\aktuelle_Projekte\Berolina\Berolina_EIS\Berolina_EIS\Berolina_EIS\BerolinaDB.sdf"
rstNwind.Open("select Nachname from T_Mitarbeiter", ActiveConnection:=cnnNWind)   ':=cnnNWind
With rstNwind
    Do Until .EOF
        Test = .Fields("Nachname").Value
        MsgBox(Test)
        .MoveNext()
    Loop
End With
rstNwind.Close()

现在我得到一个连接错误,一定是因为表单中已经有一个数据库连接。使用当前连接的正确术语是什么?在 Access 中可以使用 currentproject.connection 有这样的吗? 我的数据库名称: BerolinaDB.sdf 想要的Table还有一个tableAdapter,用于dataview元素,名字是:T_MitarbeiterTableAdapter

编辑:错误消息 “Die Verbindung kann nicht verwendet werden, um diesen Vorgang auszuführen。Sie ist entweder geschlossen oder in diesem Zusammenhang ungültig。”

【问题讨论】:

  • 您能发布收到的确切错误消息吗?
  • 请看我的编辑
  • 当您尝试执行命令时,错误消息抱怨连接被关闭
  • 可以,但是表单中已经有连接,我可以用这个连​​接代替吗?
  • 如果在打开 Recordset 之前添加 cnnNWind.Open() 会发生什么?顺便问一下,您是否有特定的理由使用 ADODB 类而不是本机 Microsoft SQL Server Compact 4.0 提供程序?

标签: vb.net ado


【解决方案1】:

添加 cnnNWind.Open() 的建议消除了错误。对于我之前的问题,如果可以使用已经打开的连接,我通过尝试不同的方法找到了解决方案。我可以使用:

数据集.Tableadapter.property

【讨论】:

  • 看来您应该查看 ADO.NET 上的教程。 ADO 于 12 年前退休。 特定数据库也不影响命令、连接的工作方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多