虽然移植从2005年SQL应用程序SQL Server精简版,我发现我需要移植这个命令:SQL紧凑型选择前1
SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL
但SQL Server精简版不支持TOP
关键字。我怎样才能移植这个命令?
虽然移植从2005年SQL应用程序SQL Server精简版,我发现我需要移植这个命令:SQL紧凑型选择前1
SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL
但SQL Server精简版不支持TOP
关键字。我怎样才能移植这个命令?
SELECT TOP(1) Id
FROM tblJob
WHERE Holder_Id IS NULL
据我所知,需要括号。
参考:http://technet.microsoft.com/en-us/library/bb686896.aspx
另外:同样,只有3.5版本起
看起来不能做到紧凑。你必须阅读所有的工作,或者创建一个SqlReader,然后阅读第一个。
这是略垂直于你的问题。
对于SQL查询,SQL Server Compact Edition实际上表现不佳。直接打开表格可以获得更好的性能。在.NET中,通过将命令对象的CommandText
属性设置为表名称,将CommandType
属性设置为CommandType.TableDirect
来完成此操作。
如果要过滤结果,您需要在要过滤的列上的表上的索引。通过设置IndexName
属性来指定要使用的索引,并使用SetRange
来设置过滤器。
然后,您可以根据需要阅读更多或更少的记录。
那么找到了一个理由。 Management Studio携带并使用它自己的SQL Server Compact版本。详见http://en.wikipedia.org/wiki/SQL_Server_Compact。
SQL Server管理2005 Studio可以 读取和修改CE 3.0和3.1 数据库文件(具有最新 服务包),但在SQL Server 管理2008工作室从 “卡特迈” 2008 CTP版本(或更高版本) 需要阅读3.5版本的文件。
SQL Server管理 2008工作室和Microsoft Visual Studio Express的2008 SP1的RTM可以创建,修改 和查询CE 3.5 SP1数据库 文件。
我已经使用了SqlCEDataAdapter的Fill方法。您可以执行以下操作:
DbDataAdapter.Fill(DataSet,Int32,Int32,String)在DataSet中的指定范围内添加或刷新行,以使用DataSet和DataTable名称匹配数据源中的行。 受.NET Compact Framework支持。
http://msdn.microsoft.com/en-ie/library/system.data.common.dbdataadapter.fill(v=VS.80).aspx
为纽带@bernhardrusch点 - 顶部()现在可以在v3.5版本:O) – Andrew 2008-09-26 09:23:56