2008-09-26 4 views
12

의 SQL Server Compact Edition으로 SQL 2005에서 응용 프로그램을 포팅, 나는 포트에이 명령이 필요 발견하는 동안 다음 TOP 키워드를 지원하지 않습니다SQL 컴팩트 최고 선택 1

SELECT TOP 1 Id FROM tblJob WHERE Holder_Id IS NULL 

그러나의 SQL Server Compact Edition을 . 이 명령을 어떻게 포팅 할 수 있습니까?

답변

0

컴팩트하게 만들 수없는 것처럼 보입니다. 모든 작업을 읽거나 SqlReader를 만들어 첫 번째 작업을 읽어야합니다.

2

버전 3.5.

SQL Server Compact Edition은 실제로 SQL 쿼리를 수행하지 않습니다. 테이블을 직접 열면 성능이 훨씬 향상됩니다. .NET에서 명령 개체의 CommandText 속성을 테이블 이름으로 설정하고 CommandType 속성을 CommandType.TableDirect으로 설정하면 .NET에서이 작업을 수행 할 수 있습니다.

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

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

0

이유를 발견했습니다. 관리 스튜디오는 SQL Server Compact의 자체 버전을 가지고 있으며이를 사용합니다. http://en.wikipedia.org/wiki/SQL_Server_Compact에서 더보기

SQL Server Management Studio를 2005 읽고 CE 3.0 (최신 서비스 팩) 3.1 데이터베이스 파일을 수정 할 수 있지만 "케트 마이"2008 CTP 릴리스에서 SQL 서버 관리 스튜디오 2008 (버전 3.5 파일을 읽으려면 이 필요합니다.

SQL 서버 관리 스튜디오 2008 및 Microsoft Visual 스튜디오 익스프레스 2008 SP1의 RTM 만들 수

, 수정 및 쿼리 CE 3.5 SP1 데이터베이스 파일.

1

필자는 SqlCEDataAdapter의 채우기 메서드를 사용했습니다.

DbDataAdapter.Fill (DataSet, Int32, Int32, String) DataSet의 지정된 범위에있는 행을 추가하거나 새로 고쳐 DataSet 및 DataTable 이름을 사용하여 데이터 소스의 행을 일치 시키거나 새로 고칩니다. .NET Compact Framework에서 지원됩니다. 에 링크 @bernhardrusch 포인트로

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