문제

SQL 2005에서 SQL Server Compact Edition으로 응용 프로그램을 이식하는 동안 다음 명령을 이식해야 한다는 사실을 발견했습니다.

SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL

그러나 SQL Server Compact Edition은 다음을 지원하지 않습니다. TOP 예어.이 명령을 어떻게 이식할 수 있나요?

도움이 되었습니까?

해결책

SELECT TOP(1) Id 
FROM tblJob 
WHERE Holder_Id IS NULL

내가 아는 한 괄호가 필요합니다.

참조: http://technet.microsoft.com/en-us/library/bb686896.aspx

추가 : 마찬가지로, 버전 3.5 이후에만

다른 팁

이것은 귀하의 질문에 약간 직교입니다.

SQL Server Compact Edition은 실제로 SQL 쿼리에서 잘 작동하지 않습니다. 테이블을 직접 열어서 훨씬 더 나은 성능을 얻을 수 있습니다. .NET에서는 명령 개체를 설정 하여이 작업을 수행합니다. CommandText 테이블 이름에 대한 속성 및 CommandType 속성 CommandType.TableDirect.

결과를 필터링하려면 필터링하려는 열의 테이블에 인덱스가 필요합니다. 설정하여 사용할 인덱스를 지정하십시오 IndexName 속성 및 사용 SetRange 필터를 설정합니다.

그런 다음 원하는만큼 레코드 또는 적은 레코드를 읽을 수 있습니다.

SQLCEDATAADAPTER의 채우기 메소드를 사용했습니다. 넌 할 수있어:

dbdataadapter.fill (DataSet, Int32, Int32, String)은 데이터 세트의 지정된 범위에서 행을 추가하거나 새로 고침하여 데이터 세트 및 데이터 가능한 이름을 사용하여 데이터 소스의 것과 일치합니다. .NET Compact 프레임 워크에 의해 지원됩니다.

http://msdn.microsoft.com/en-ie/library/system.data.common.dbdataadapter.fill(v=vs.80).aspx

소형으로 할 수없는 것 같습니다. 모든 작업을 읽거나 SQLReader를 만들고 첫 번째 작업을 읽어야합니다.

이유를 찾았습니다.Management Studio는 자체 버전의 SQL Server Compact를 전달하고 사용합니다.자세히 보기 http://en.wikipedia.org/wiki/SQL_Server_Compact.

SQL Server Management Studio 2005는 CE 3.0 및 3.1 데이터베이스 파일 (최신 서비스 팩 포함)을 읽고 수정할 수 있지만 "Katmai"2008 CTP 릴리스 (또는 그 이후)의 SQL Server Management Studio 2008은 버전 3.5 파일을 읽으려면 필요합니다.

SQL Server Management Studio 2008 및 Microsoft Visual Studio Express 2008 SP1의 RTM은 CE 3.5 SP1 데이터베이스 파일을 생성, 수정 및 쿼리 할 수 ​​있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top