C# 응용 프로그램 폐쇄 후 손실 된 데이터베이스 문제 해결
이 기사에서는 일반적인 문제를 해결합니다. 디버깅 중에 올바른 것처럼 보이지만 응용 프로그램이 닫힌 후 C# 콘솔 응용 프로그램 내에서 수행 된 데이터베이스 수정이 사라집니다. 근본 원인과 솔루션을 조사해 봅시다.
문제 :
디버깅 세션 중에 올바르게 나타나지만 C# 콘솔 애플리케이션이 종료되면 새로 추가 된 데이터베이스 레코드가 사라집니다.
조사 :
이 문제는 종종 SQL Server Compact Edition 4를 사용할 때 발생합니다. 연결 문자열은 일반적으로 "| Datadirectory |", 디버깅 중에 응용 프로그램의 BindeBug 폴더에 데이터베이스를 배치합니다. 응용 프로그램은이 데이터베이스를 성공적으로 연결하고 업데이트합니다. 그러나 Visual Studio의 서버 탐색기에는 프로젝트의 루트 폴더에있는 다른 데이터베이스 파일이 표시 될 수 있습니다. 서버 탐색기가 별도의 연결 문자열을 사용하기 때문입니다.
솔루션 :
핵심 문제는 "| datadirectory |"의 사용에 있습니다. 응용 프로그램은 디버그 폴더의 데이터베이스를 업데이트하는 동안 Visual Studio는이 데이터베이스를 다시 시작시 프로젝트 폴더의 사본으로 덮어 씁니다. 이것은 효과적으로 변화를 취소합니다.
이 문제를 해결하려면 프로젝트 설정에서 데이터베이스 파일의 "출력 디렉토리로 복사"속성을 조정하십시오. "새로운 경우 복사"또는 "복사하지 마십시오"로 설정하십시오. 이로 인해 Visual Studio가 디버그 폴더의 데이터베이스를 대체하지 못하게합니다.
또 다른 방법은 서버 탐색기에서 두 개의 연결을 만드는 것입니다. 하나는 프로젝트 폴더 데이터베이스를 가리키고 다른 하나는 디버그 폴더의 데이터베이스를 가리키는 것입니다. 이를 통해 배포 데이터베이스에 영향을 미치지 않고 코드의 변경 사항을 관찰 할 수 있습니다.
이러한 솔루션을 구현하면 응용 프로그램 폐쇄 후 데이터베이스 변경이 지속되도록하고 디버깅 관찰이 데이터베이스 상태를 정확하게 반영 할 수 있습니다.
위 내용은 C# 응용 프로그램을 닫은 후 데이터베이스 변경이 사라지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!