1

我已经使用 VS 2008 中的本地数据库缓存项成功同步了源数据库和本地数据库。

但是,我需要直接从另一个 dll/进程中访问 SQL CE db,而不使用数据集。原因是我的业务对象代码不使用数据集。

最终的代码看起来像这样:

Dim conn As New SqlServerCe.SqlCeConnection("Data Source=C:\Development\UserDirectory\UserDirectory.DBSyncher\ProfDir.sdf;Persist Security Info=False;")
Dim cmd As New SqlServerCe.SqlCeCommand("Select EmailAddress from Employees Where ID=23", conn)
Dim returnString As String = ""

If conn.State = ConnectionState.Closed Then
    conn.Open()
End If
returnString = cmd.ExecuteScalar

conn.Close()
cmd = Nothing

我注意到使用显示同步更改的数据集非常奇怪,但访问 CE 数据库文件直接返回旧数据 - 没有任何同步数据。

我错过了什么?任何帮助将不胜感激。

4

1 回答 1

1

弄清楚了!

忘记了 CE 正在处理中,因此它将数据库文件(.sdf)复制到 Debug 文件夹。您必须引用该数据库而不是项目中的数据库。哦!

于 2009-02-20T06:25:22.750 回答