雖然移植從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