2011-03-07 2 views
2

업데이트되지 않으며, 나는이 코드 부분을 실행 한 후에는 업데이트되지 것 :데이터베이스 내가 하나의 테이블이있는 .MDF 데이터베이스로 일부 데이터를 쓰기 위해 노력하고 있어요

 DatabaseDataSet.MyTableRow newRow; 
     newRow = databaseDataSet.MyTable.NewMyTableRow(); 
     newRow.name = "x"; 
     newRow.level = 100; 
     newRow.health = 100; 
     newRow.weapon = "club"; 
     this.databaseDataSet.MyTable.Rows.Add(newRow); 

     int result = MyTableTableAdapter.Update(databaseDataSet.MyTable); 
     MessageBox.Show(result.ToString()); 

나는 새로운 오전을 C#에서 SQL 데이터베이스 작업. 나는 데이터베이스의 MyTable 테이블을 업데이트 TableAdapter.Update을 사용하고

, 나는 심지어 업데이트 내 자신의 쿼리 버전을 작성했는데, 나는 또한 MyTableAdapter.insert 기능을 시도하지 ... 그리고 결과가 없습니다. 필자는 데이터베이스에서 성공적으로 데이터를 읽을 수는 있지만 글쓰기에는 어려움을 겪습니다.

+0

MDF 파일 (또는 파일이있는 폴더)을 다시 확인할 수 있습니까? 쓰기 권한이 있습니까? – Raptor

+0

SaveChanges() 또는 sth를 호출 했습니까? – vissi

+0

확인해 봤지만 어느 mdfs도 읽기 전용이 아니기 때문에 변경 권한이 있어야합니다. 또한 SaveChanges()도 그렇게 호출하지 않았습니다. 업데이트는 혼자 생각하는 데이터베이스에서 변경해야합니다. –

답변

1

업데이트 (삽입 및 삭제)는 테이블 어댑터의 로컬 클라이언트보기 만 수정하므로 데이터베이스에 커밋하기 위해 SaveChanges를 사용해야합니다.

0

프로젝트에서 압축 SQL 데이터베이스를 사용하고있는 것 같습니까?
즉, 데이터베이스 파일은 프로그램이 실행되는 곳마다 만들어집니다.
그래서 디버그 모드로 실행하면 bin/Debug 폴더에 데이터베이스가 생깁니다. 릴리스 모드에서 실행하면 bin/Release 폴더의 완전히 다른 데이터베이스에서 작업하고있는 것입니다. 설치된 버전을 실행하면 다른 데이터베이스 파일이 다시 나타납니다.

컴팩트 한 SQL 데이터베이스로 첫 번째 .net 프로그램을 만들었을 때 알아 두어야 할 중요한 사실은 전체 데이터베이스가 일반적으로 실행중인 프로그램과 같은 디렉터리에있는 단일 파일에 있다는 것입니다. . 그 사실을 항상 염두에 두십시오. 이렇게 많은 작은 문제가 당신을 물지는 않을 것입니다.