2012-01-17 199 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是,或DELETE命令/活動你到目前爲止嘗試過什麼..? – MethodMan 2012-01-17 15:44:05

+0

@DJKRAZE嗨,嘗試但不能成功.. – 2012-01-17 15:45:03

+0

你遇到什麼問題? – 2012-01-17 15:55:39

回答

0

在哪裏或什麼是da.UpDateCommand =命令後; ..?內

通過包裝嘗試catch {}塊重構代碼

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

我做了你說的,但沒有任何改變... – 2012-01-17 18:03:45

+0

如果你正在嘗試使用DataRowVersion.Original做緩存爲什麼..?嘗試首先執行簡單更新,以便我們可以消除發生其他錯誤的位置或其他位置。 – MethodMan 2012-01-17 18:26:01

0

剛纔添加的數據綁定像

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

這個例子是實體框架。對於EF必須調用

_repository.UnitOfWork.SaveChanges() 

關閉窗體之前,或改變值的

相關問題