2014-12-15 8 views
0

데이터 집합을 만든 데이터베이스가 있는데 업데이트를 실행하려고하는데 데이터 집합 (및 이후 데이터베이스)을 업데이트 할 수 없습니다. 그 결과. Visual Studio의 쿼리 작성기를 사용하여 쿼리를 작성했습니다.이 쿼리 작성기를 통해 실행하면 데이터가 변경되는 방식으로 데이터가 변경됩니다. 코드를 실행할 때 쿼리가 변경된 행 수를 표시하기 위해 MessageBox에 넣었고 결과는 1을 반환합니다. 나는 왜 그것이 업데이트를 '저 지르지 않을 것인가'에 대한 손실에 빠졌으며, 나는 아주 간단한 것을 놓치고 있다고 확신한다. 내가 쿼리를 호출하고 업데이트하려고 경우
여기 여기업데이트 쿼리를 실행해도 데이터 집합이 업데이트되지 않습니다

UPDATE Bug_Master 
SET Name = @Name, Test_App = @Test_App, Bug_Type = @Bug_Type, Bug_Active = @Bug_Active, Bug_Description = @Bug_Description, Bug_Keywords = @Bug_Keywords 
WHERE (Id = @Original_Id); 
폼의 Load 이벤트에서

내가

this.bug_MasterTableAdapter.Fill(this.bugManagerDataSet.Bug_Master); 

하고 ("UpdateQuery"라는) 쿼리 I 설정입니다 (나는 '사용'을 사용한다 알고 있지만 나는 꽤 코드까지 나는 이것이 우미하지 않음을 그렇게 일을 용서하는거야 후) 나는 MessageBo 위에서 언급 한 바와 같이

  SqlConnection connection = new SqlConnection(strSQLConnectionString); 
      connection.Open(); 
      int iResult = bug_MasterTableAdapter.UpdateQuery("Error One 1", "PassVault", "Runtime", "True", "Description Test", "Keywords Test", 1); 
      MessageBox.Show(iResult.ToString()); 
      bug_MasterTableAdapter.Update(bugManagerDataSet.Bug_Master); 
      connection.Close(); 

x는 '1'을 표시합니다. 이 작업을 수행하는 방법에 대한 중요한 단계가 있습니까? 내가 SQL을 엉망으로 만든 이래로 나는 오랜 시간이 걸렸다. 그래서 나는 그 길로 되돌아 가야했고 의심의 여지없이 몇 가지를 놓쳤다. 미리 감사드립니다.
erik

답변

0

해결책을 찾았습니다. 데이터베이스 파일의 'copy to output directory'속성이 'always copy'로 설정되었습니다. 그래서 프로그램을 실행할 때 app 폴더에있는 파일을보고있는 동안 \ bin \ debug 폴더에있는 데이터베이스를 변경합니다. 그런 다음 값을 확인하기 위해 프로그램을 다시 시작하면 \ bin \ debug에있는 데이터베이스의 변경된 버전을 프로젝트의 변경되지 않은 버전으로 덮어 씁니다.
그래서, 비슷한 결과를 얻는 다른 사람을위한 결과는 데이터베이스의 'Copy to Output Directory'옵션이 'Copy if Newer'로 설정됩니다.
누구든지 살펴 봤습니다.

에리크