2012-01-17 4 views
-1

질문이 있습니다.DataGridview에서 변경 사항이 발생하면 데이터베이스를 업데이트하는 방법

DataGridview를 변경하여 데이터베이스의 백엔드에서 테이블을 업데이트하려고합니다. DataGridView 변경 내용을 데이터베이스에 반영해야합니다.

어떻게하면됩니까?

SqlCommand command; 
      if (con.State == ConnectionState.Closed) 
       con.Open(); 

      string updateQuery = @"UPDATE Hucre set [email protected] Where [email protected] and [email protected]"; 
      command = new SqlCommand(updateQuery, con); 

      command.Parameters.Add("@VericiKB", SqlDbType.Int, 50, "VericiKB"); 
      SqlParameter param1 = command.Parameters.Add("@HucreKB", SqlDbType.Int, 50, "HucreKB"); 
      SqlParameter param2 = command.Parameters.Add("@OrtamKB", SqlDbType.Int, 50, "OrtamKB"); 

      param1.SourceVersion = DataRowVersion.Original; 
      param2.SourceVersion = DataRowVersion.Original; 

      da.UpdateCommand = command; 
+4

당신은 명령을 삽입, 업데이트를 추가하여 있음을 ahcieve 또는 삭제할 수 있습니다 개체를 해제 할 때/이벤트 지금까지 시도한 것은 무엇입니까? – MethodMan

+0

@DJKRAZE 안녕하세요, 시도했지만 성공하지 못했습니다 .. –

+0

어떤 문제가 발생 했습니까? –

답변

0

을 변경 한 후 양식을 닫기 전에

_repository.UnitOfWork.SaveChanges() 

를 호출해야합니다; ..? 그

내 시도 잡기 {} 블록을 포장하여 코드를 리팩토링

SqlCommand command = null; 
try 
{ 
    if (con.State == ConnectionState.Closed) 
    { 
     con.Open(); 
    } 

    string updateQuery = @"UPDATE Hucre set [email protected] 
     WHERE [email protected] and [email protected]"; 
    command = new SqlCommand(updateQuery, con); 
    command.Parameters.AddWithValue("@VericiKB", "VericiKB");//pass a variable here 
    SqlParameter param1 = command.Parameters.AddWithValue("@HucreKB", "HucreKB");//pass a variable here 
    SqlParameter param2 = command.Parameters.AddWithValue("@OrtamKB", "OrtamKB");//pass a variable here 
    param1.SourceVersion = DataRowVersion.Original; 
    param2.SourceVersion = DataRowVersion.Original; 
    //what is this ..??? da.UpdateCommand = command; 
    command.ExecuteNonQuery; 
} 
catch (Exception e) 
{ 
    //Write or trap your exception here.. 
} 

// 당신은 SqlCommand를가

+0

당신이 말한대로했는데 아무 것도 바뀌지 않았습니다 ... –

+0

DataRowVersion.Original으로 캐싱을 시도한다면 왜? ..? 단순한 업데이트를 먼저 실행하여 다른 오류가 발생한 곳이나 위치를 제거 할 수 있도록하십시오. – MethodMan

0

그냥

this.domainUpDown1.DataBindings.Add("Text", _user, "Active", true); 

이 예는 엔티티 프레임 워크에 대한처럼 데이터 바인딩을 추가

은 ...

코드를 주셔서 감사합니다. EF 위해 당신은, 또는 또는 da.UpDateCommand = 명령 무엇 값

관련 문제