Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Compact选择前1名_Sql Server_Sql Server Ce - Fatal编程技术网

Sql server SQL Compact选择前1名

Sql server SQL Compact选择前1名,sql-server,sql-server-ce,Sql Server,Sql Server Ce,将应用程序从SQL 2005移植到SQL Server Compact Edition时,我发现需要移植以下命令: SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL 但是SQL Server Compact Edition不支持TOP关键字。如何移植此命令?看起来无法在压缩中完成。您必须阅读所有作业,或者制作一个SqlReader,然后只阅读第一个作业 SELECT TOP(1) Id FROM tblJob WHERE Holder_

将应用程序从SQL 2005移植到SQL Server Compact Edition时,我发现需要移植以下命令:

SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL

但是SQL Server Compact Edition不支持
TOP
关键字。如何移植此命令?

看起来无法在压缩中完成。您必须阅读所有作业,或者制作一个SqlReader,然后只阅读第一个作业

SELECT TOP(1) Id 
FROM tblJob 
WHERE Holder_Id IS NULL
据我所知,我需要括号

参考:


添加:同样,仅对于3.5版以后的版本

这与您的问题略微正交

SQL Server Compact Edition实际上在SQL查询中的性能不是很好。直接打开表可以获得更好的性能。在.NET中,可以通过将命令对象的
CommandText
属性设置为表名,并将
CommandType
属性设置为
CommandType.TableDirect
来实现此目的

如果要筛选结果,则需要在表中要筛选的列上建立索引。通过设置
IndexName
属性指定要使用的索引,并使用
SetRange
设置过滤器


然后,您可以读取任意多或任意少的记录。

我们找到了一个原因。ManagementStudio携带并使用自己的SQL Server Compact版本。更多信息请参阅

SQLServerManagementStudio 2005可以 阅读并修改CE 3.0和3.1 数据库文件(最新版本) 服务包),但SQL Server 管理工作室2008 “Katmai”2008 CTP版本(或更高版本) 需要读取3.5版文件

sqlserver管理的RTM Studio 2008和Microsoft Visual Studio Studio Express 2008 SP1可以创建, 修改和查询CE3.5SP1数据库 档案


我使用了SqlCEDataAdapter的Fill方法。你可以做:

Fill(DataSet,Int32,Int32,String)使用DataSet和DataTable名称添加或刷新DataSet中指定范围内的行,以匹配数据源中的行。 由.NET Compact Framework支持


因为@bernhardrusch指向-Top()的链接现在在v3.5:o中可用)