none
비쥬얼 베이직 익스프레스 2010 데이타 저장이 안됩니다. RRS feed

  • 질문

  • 비쥬얼 베이직 익스프레스 2010 초보자 입니다.

    비쥬얼 배이직 익스프레스 2010으로 데이타베이스 연습을 하면서 기본적인 폼과 db를 만들어 '바인딩네비게이터, 테이블어뎁터,바인딩소스'등을 이용하여 자료처리를 해보고 화면에서 데이타를 자료 저장,수정,삭제 등을 하면 잘보이고, 실행이 되지만

     프로그램 종료 후 다시 실행해 보면 자료가 다 없어져 버립니다. 원인을 알고 싶습니다.(연습 db 속성은 '내용이 변경 될 때만 저장'으로 설정했습니다.

    2010년 12월 14일 화요일 오전 3:23

모든 응답

  • 만드신 데이터베이스가 파일 형식의 데이터베이스 (SQL Express, SQL Compact, Microsoft Access와 같은) 형태이고, 해당 파일이 프로젝트의 항목의 일부로 등록되어있을 경우, 빌드할 때 마다 실행 위치에 데이터베이스 파일을 덮어쓰는 동작 때문에 이와 같은 현상이 발생할 수도 있습니다.

    데이터베이스 파일 항목을 솔루션 탐색기에서 찾으신 후 오른쪽 버튼을 클릭하여 속성 메뉴를 클릭하시면 속성 패널 창이 나타날 것입니다. 여기서 파일 복사 설정을 항상 복사 대신 변경된 때에만 복사로 선택하면 문제가 해결될 수 있을 것입니다.

    감사합니다. :-)


    남정현 (rkttu@rkttu.com) - Visual Studio 2010 한국 공식 팀 블로그 멤버 - http://www.vsts2010.net | Windows Azure Cafe SYSOP - http://cafe.naver.com/wazure | DEVPIA C# Forum SYSOP - http://www.devpia.com/CSharp.MAEUL
    2010년 12월 14일 화요일 오전 4:07
  • 답변 감사합니다.

    하지만 db 속성에 '변경된 내용만 복사'를 하고 다시 저장를 해도 여전히 자료가 날라기고

    하는 문제가 발생합니다. - 해결방법이 없을까요 ?

    2010년 12월 14일 화요일 오전 8:22
  • 혹시 SQL Express를 사용하시고, 트랜잭션을 사용하신다면 트랜잭션을 정확히 커밋해주셔야 할 듯 합니다. 아니면 지난번과 같이 DataAdapter를 이용하여 프로그래밍하고 계시다면 DataAdapter 클래스의 Update 메서드에 관하여 확인해보시는 것이 필요할듯 합니다. (http://msdn.microsoft.com/ko-kr/library/system.data.common.dataadapter.update.aspx)


    static private DataSet CreateCommandAndUpdate(
        string connectionString,
        string queryString)
    {
        DataSet dataSet = new DataSet();

        using (OleDbConnection connection =
                   new OleDbConnection(connectionString))
        {
            connection.Open();
            OleDbDataAdapter adapter =
                new OleDbDataAdapter();
            adapter.SelectCommand =
                new OleDbCommand(queryString, connection);
            OleDbCommandBuilder builder =
                new OleDbCommandBuilder(adapter);

            adapter.Fill(dataSet);

            // Code to modify data in the DataSet here.

            // Without the OleDbCommandBuilder, this line would fail.
            adapter.UpdateCommand = builder.GetUpdateCommand();
            adapter.Update(dataSet);
        }
        return dataSet;
    }


    남정현 (rkttu@rkttu.com) - Visual Studio 2010 한국 공식 팀 블로그 멤버 - http://www.vsts2010.net | Windows Azure Cafe SYSOP - http://cafe.naver.com/wazure | DEVPIA C# Forum SYSOP - http://www.devpia.com/CSharp.MAEUL
    2010년 12월 14일 화요일 오후 2:32