2008-09-01 7 views
3

저는 WinForms에서 더러워지고 있습니다. 멋진 튜토리얼을 통해 데이터베이스 테이블을 디자인보기로 드래그하는 마법을 발견했습니다. 주요 양식. 그래서 모두 멋지 네요, 나는 모든 컬럼이 아름답게 표현 된 DataGridView를 가지고 있습니다.WinForms - DataGridView/SQL Compact - 기본 키 열의 음수

하지만 ...

나는 새로운이 브랜드에 대한 내 응용 프로그램을 실행, 빈하여 .sdf은 (빈 빈 자신을있는 내가 만든 두 개의 테이블을위한 저장), 내가받을 -1에 첫 번째 레코드를 만들려고 할 때마다 내 기본 키/ID 열에 해당하는

왜 이런 일이 벌어지고 있는지 알 수 있습니까? 도움이된다면 열은 int입니다.

답변

3

ID 열이고 데이터베이스에 아직 저장하지 않았으므로 -1입니다. 여기서 데이터베이스에 테이블을 다시 저장하기 전이라고 가정합니다. 이 값을 올바르게 설정하려면 삽입을 수행해야합니다.

5

"실제"행이 0보다 작은 ID를 가질 확률이 없으므로 @Brian -1이 기본값으로 적합합니다. 기본 값이 0 또는 1이면 기존 행과 충돌하여 기본 키 위반이 발생할 수 있습니다.

오프라인으로 유지하고 저장하기 전에 여러 행을 만드는 응용 프로그램의 경우 일반적으로 새 행의 ID마다 거꾸로 (-2, -3, -4) 계산됩니다. 그런 다음 서버가 저장되면 서버는이를 테이블의 실제 "다음"값으로 바꿀 수 있습니다.