>백엔드 개발 >C++ >C# 응용 프로그램을 닫은 후 데이터베이스 변경이 사라지는 이유는 무엇입니까?

C# 응용 프로그램을 닫은 후 데이터베이스 변경이 사라지는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-02-01 15:36:15834검색

Why Do My Database Changes Disappear After Closing My C# Application?
C# 응용 프로그램 폐쇄 후 손실 된 데이터베이스 문제 해결 이 기사에서는 일반적인 문제를 해결합니다. 디버깅 중에 올바른 것처럼 보이지만 응용 프로그램이 닫힌 후 C# 콘솔 응용 프로그램 내에서 수행 된 데이터베이스 수정이 사라집니다. 근본 원인과 솔루션을 조사해 봅시다.

문제 :

디버깅 세션 중에 올바르게 나타나지만 C# 콘솔 애플리케이션이 종료되면 새로 추가 된 데이터베이스 레코드가 사라집니다. 조사 :

이 문제는 종종 SQL Server Compact Edition 4를 사용할 때 발생합니다. 연결 문자열은 일반적으로 "| Datadirectory |", 디버깅 중에 응용 프로그램의 BindeBug 폴더에 데이터베이스를 배치합니다. 응용 프로그램은이 데이터베이스를 성공적으로 연결하고 업데이트합니다. 그러나 Visual Studio의 서버 탐색기에는 프로젝트의 루트 폴더에있는 다른 데이터베이스 파일이 표시 될 수 있습니다. 서버 탐색기가 별도의 연결 문자열을 사용하기 때문입니다.

솔루션 :

  • 핵심 문제는 "| datadirectory |"의 사용에 있습니다. 응용 프로그램은 디버그 폴더의 데이터베이스를 업데이트하는 동안 Visual Studio는이 데이터베이스를 다시 시작시 프로젝트 폴더의 사본으로 덮어 씁니다. 이것은 효과적으로 변화를 취소합니다.
  • 이 문제를 해결하려면 프로젝트 설정에서 데이터베이스 파일의 "출력 디렉토리로 복사"속성을 조정하십시오. "새로운 경우 복사"또는 "복사하지 마십시오"로 설정하십시오. 이로 인해 Visual Studio가 디버그 폴더의 데이터베이스를 대체하지 못하게합니다. 또 다른 방법은 서버 탐색기에서 두 개의 연결을 만드는 것입니다. 하나는 프로젝트 폴더 데이터베이스를 가리키고 다른 하나는 디버그 폴더의 데이터베이스를 가리키는 것입니다. 이를 통해 배포 데이터베이스에 영향을 미치지 않고 코드의 변경 사항을 관찰 할 수 있습니다. 이러한 솔루션을 구현하면 응용 프로그램 폐쇄 후 데이터베이스 변경이 지속되도록하고 디버깅 관찰이 데이터베이스 상태를 정확하게 반영 할 수 있습니다.

    위 내용은 C# 응용 프로그램을 닫은 후 데이터베이스 변경이 사라지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.