ADO.Net 同步和 SQL CE

Posted

技术标签:

【中文标题】ADO.Net 同步和 SQL CE【英文标题】:ADO.Net Synchronization & SQL CE 【发布时间】:2009-02-20 06:14:00 【问题描述】:

我已经使用 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 数据库文件直接返回旧数据 - 没有任何同步数据。

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

【问题讨论】:

请添加标签'sqlservercompactedition'以便更好地搜索 【参考方案1】:

想通了!

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

【讨论】:

以上是关于ADO.Net 同步和 SQL CE的主要内容,如果未能解决你的问题,请参考以下文章

ADO .NET 与 SQL Server Management Studio - ADO 性能更差

ADO.NET SQL

ADO.NET链接执行SQL的小白思路

VB.NET 2010 和 SQL Server 2008 与 ADO.NET 问题

如何为 SQL Server 和 SQL Server Compact 编写相同的 ado.net 代码?

自定义 ADO.NET 提供程序以拦截和修改 sql 查询