标签: sql-server-ce

如何在SQL查询中选择每个组的第一行?

我有这个SQL查询:

SELECT   Foo, Bar, SUM(Values) AS Sum
FROM     SomeTable
GROUP BY Foo, Bar
ORDER BY Foo DESC, Sum DESC
Run Code Online (Sandbox Code Playgroud)

这导致输出类似于:

47  1   100
47  0   10
47  2   10
46  0   100
46  1   10
46  2   10
44  0   2
Run Code Online (Sandbox Code Playgroud)

我想每个Foo只有第一行,而忽略其余的.

47  1   100
46  0   100
44  0   2
Run Code Online (Sandbox Code Playgroud)

我怎么做?

sql sql-server-ce

13
推荐指数
1
解决办法
5万
查看次数

"如果不存在"SQL CE上失败

我有一个意想不到的问题.我正在制作一个脚本来更新SQL CE数据库上的模式.这不会运行:

if not exists
(
    Select column_name from information_schema.columns
    where column_name = 'TempTestField' 
        and table_name = 'Inventory_Master_File' 
)
    Alter table Inventory_Master_File
      add TempTestField nvarchar(10) null   
Run Code Online (Sandbox Code Playgroud)

我认为这是因为我使用的是SQL CE不支持的东西.有人知道怎么做吗?我已经尝试重新安排脚本,但无法正常工作.我试过"改变表......不存在......".

请注意,"选择"部分运行正常,还有"更改"部分.问题是"如果不存在".我知道有一些关于使用SQL CE的问题的其他帖子,但我找不到这个特定问题的答案.

干杯
马克

更新:

我花了一个多小时寻找解决方案.我发现许多帖子都在寻求类似问题的帮助,但我仍然不知道如何修复它.我真的不想在C#代码中这样做.我需要在SQL脚本中执行此操作.我不敢相信这个基本的东西造成了这么大的困难:(

t-sql sql-server sql-server-ce

13
推荐指数
1
解决办法
8597
查看次数

如何删除SQL CE中表中的所有数据?

SQL CE不支持TRUNCATE命令.要清除表格,我必须使用DELETE.是否有更快/更好的方法来清除数据,然后执行以下命令?

DELETE FROM FooTable WHERE id !='ABC'
Run Code Online (Sandbox Code Playgroud)

sql-server-ce

13
推荐指数
1
解决办法
7万
查看次数

通过选择其他表中的另一列插入一列,但如何填充第二列

我有一个表有两列我通过选择其他表列数据填充其中一列但我怎么能填写下一列因为我不能使用VALUE.这是代码

INSERT INTO Numbers(number, val) SELECT LaptopID FROM Laptop WHERE Laptop.Pid = 2 
Run Code Online (Sandbox Code Playgroud)

正如你可以看到"val"列留空我怎么能填补它?

sql sql-server-ce

13
推荐指数
1
解决办法
7万
查看次数

如何检查SQL Server CE数据库中的索引?

有没有办法列出所有SQL Server CE数据库表索引,或至少列出单个表?

sql indexing sql-server-ce

12
推荐指数
1
解决办法
4887
查看次数

多用户场景中的SQL Server CE - 这真的非常愚蠢吗?

我正在尝试使用SQL Server Compact Edition 3.5作为销售应用程序的数据库后端.将有3-4个Windows Forms应用程序安装,它们(通过LINQ2SQL)读取和写入位于网络共享上的一个.sdf文件.

我的(非常严格的)测试表明这可行.文档指出SQL Server CE最多支持256个连接.SQL Server CE甚至会锁定其行吗?是否还有其他并发问题我应该担心?

最重要的是,有没有人使用SQL Server CE成功连接到同一个数据库的多个应用程序?

我应该免除未来的麻烦并使用SQL Server Express吗?

sql-server-ce

12
推荐指数
1
解决办法
1万
查看次数

重置数据库中的自动编号(标识字段)

我使用Sql Server Compact Edition数据库文件将数据存储在我的Windows应用程序软件中.

在这个数据库中,我有一个带有标识字段的表.

当我在表中插入记录时,身份代码会自动递增.但是当我从表中删除所有记录并再次插入一些记录时,标识字段不会从1开始.

如何将此值重置为1?

identity sql-server-ce

12
推荐指数
1
解决办法
9620
查看次数

如果达到Sql Server Compact Edition的限制会发生什么?

如果数据库达到SQL Server Compact Edition的4GB限制会发生什么?这有特殊的例外吗?

我可以安全地捕获此事件或异常,并且假设创建一个新数据库吗?

c# sql-server-ce

12
推荐指数
1
解决办法
801
查看次数

带有SQL Server Compact 4.0的实体框架6

我(仍然)正在尝试关注如何使用实体框架和代码优先方法的在线视频教程.我的EDM验证很好,是时候实际构建数据库了.教师使用SQL Server,显然当第一个查询命令(ToList())针对DbContext对象时,会自动创建数据库.

由于我计划在将来的应用程序中使用基于SQL Server Compact的基于文件的数据库,因此我尝试使用SQL Server Compact 4.0重现该教程的示例.我安装了NuGet包"EntityFramework.SqlServerCompact"和"Micrososft SQL Server Compact Edition".显然,这导致了一个新的提供者条目app.config:

<providers>
  <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
</providers>
Run Code Online (Sandbox Code Playgroud)

但是当我运行第一个查询命令时,我收到错误消息

已为上下文"DataModelContext"启用了迁移,但数据库不存在或不包含映射表.使用迁移创建数据库及其表,例如通过从程序包管理器控制台运行"Update-Database"命令.

当我跑步时,Update-Database我收到消息:

没有待定的显式迁移.
应用自动迁移:201310311356014_AutomaticMigration.
运行种子方法.

并且没有创建数据库,至少程序仍然退出上面的错误消息.

EF不会自动创建SQL Server CE数据库吗?如果是这样,我如何将手动创建的数据库与我的应用程序连接?

entity-framework sql-server-ce

12
推荐指数
1
解决办法
1万
查看次数

MS Sync Framework和SQL Server Compact

我开发了一个可以在线和离线模式下运行的Windows C#应用程序.
在联机模式下,它连接到SQL Server.在脱机模式下,它连接到本地数据库.

我使用Microsoft Sync Framework 2.1按需同步2个数据库.

到目前为止,我使用SQL Server的LocalDB实例作为本地数据库.但是在我的应用程序的安装过程中自动设置系统是一件痛苦的事.所以我尝试使用非常容易分发的SQL Server Compact 3.5或4.0(来自单个文件).

但我甚至无法编译Compact DB的配置代码:

DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("MyScope");
SqlCeConnection clientConn = new SqlCeConnection(OfflineConnectionString);
var clientProvision = new SqlCeSyncScopeProvisioning(clientConn, scopeDesc);
clientProvision.Apply();
Run Code Online (Sandbox Code Playgroud)

我之前使用过(没有Ce类)但SqlCeSyncScopeProvisioning无法解决.

这里有些非常错误.
如何同步我的CompactDB以将其作为本地数据库分发?

c# sql-server synchronization sql-server-ce microsoft-sync-framework

12
推荐指数
1
解决办法
1011
查看次数