문제

저는 WinForms에 점점 익숙해지고 있는데 멋진 튜토리얼을 통해 데이터베이스 테이블을 기본 폼의 디자인 보기로 끌어 놓는 마법을 발견했습니다.모든 것이 훌륭합니다. 모든 열이 아름답게 표현된 DataGridView가 있습니다.

하지만...

이 새로운 빈 .sdf(내가 만든 두 테이블에 대한 빈 저장, 그 자체는 비어 있음)에 대해 애플리케이션을 실행하면 시도할 때마다 기본 키/ID 열에 해당하는 열에 -1이 표시됩니다. 그 첫 번째 기록을 만들려고요.

왜 이런 일이 일어날 수 있는지 아십니까?도움이 된다면 이 칼럼은 int.

도움이 되었습니까?

해결책

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

다른 팁

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

오프라인 상태를 유지하고 저장하기 전에 여러 행을 생성하는 애플리케이션의 경우 일반적인 방법은 각 새 행의 ID에 대해 계속해서 거꾸로(-2, -3, -4) 계산하는 것입니다.그런 다음 저장되면 서버는 이를 테이블의 실제 "다음" 값으로 바꿀 수 있습니다.

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