【发布时间】:2014-06-12 19:44:02
【问题描述】:
我正在开发一个带有远程 SQL Server 数据库的 Winforms 应用程序。由于我是新手,我不知道从远程数据库获取数据的速度非常慢。因此,我为此使用 Visual Studio 2010 对话框提出了Local Database Cache 的解决方案。但是 SQL Server CE 的问题是它似乎不支持批量查询。
我发现有些人说可以在查询之间使用GO进行批量查询,而有些人说在SQL Server CE中不可能;参考链接link1。我知道这个问题已被问过很多次,但答案不同。
如果可能的话,我该如何执行
select *
from tabl1
where a = (select b from table2)
如果不可能,那么还请提出join 以外的解决方案,因为我无法更改所有已构建的数据库功能。
还有其他可能的方法可以用来实现我的想法吗?我也在考虑在客户端使用 SQL Server,但我不知道如何手动实现数据同步。
【问题讨论】:
-
在客户端使用 SQL Server(例如 Express)可能会容易得多,因为它提供了与完整的远程 SQL Server 相同的功能。 SQL Server CE 在很多方面都相当有限(并且即将退出 - 它不会真正进一步开发,被 SQL Server Express 取代)
-
能否给我一个代码示例如何在这种情况下实现同步。
-
不抱歉——这个话题太宽泛了,不能仅仅给出一个“代码示例”。这取决于您的表结构以及如何在本地修改数据。这是可以做到的——这需要一些工作。但是在本地使用 real SQL Server 的好处是拥有所有功能(存储过程、视图等)——所有这些功能都是 SQL Server Compact Edition 所没有的。 t 提供(或仅非常有限)
-
"GO" 不是 sql 语言的一部分。这是 Management Studio 工具的一项功能,而不是数据库本身的一项功能。
标签: c# .net sql-server winforms sql-server-ce