2013-09-21 6 views
0

나는 데이터 그리드에 DB 바인딩이 방향을 얻을 필요가, 그래서 나는이 방법을 사용하고 있습니다 : 제출 변경 순수한 SqlCommand를

private void SetTable(string tableName) 
    { 
     var dataGridView1 = new DataGridView { DataSource = GetData(tableName), Dock = DockStyle.Fill }; 
     groupBox1.Text = tableName; 
     groupBox1.Controls.Clear(); 
     groupBox1.Controls.Add(dataGridView1); 
    } 

    private static DataTable GetData(string tableName) 
    { 
     using (var connection = new SqlConnection(ConnectionString)) 
     { 
      var command = new SqlCommand(string.Format("SELECT * FROM {0}", tableName), connection); 

      connection.Open(); 
      var adapter = new SqlDataAdapter(command); 
      var result = new DataTable(); 
      adapter.Fill(result); 
      return result; 
     } 
    } 

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     SetTable(comboBox1.Text); 
    } 

그래서 단방향 바인딩이있다. 그래서 몇 가지 변경 작업을하고 db로 다시 보내고 싶습니다. 그래서 질문은 간단합니다 : 수동으로해야합니까 아니면 L2S SubmitChanges()의 아날로그가 있습니까? SQL 요청 만 사용해야합니다. 아니 EF, 아니 L2S 등등.

그래서 수정/추가/제거 된 행을 DataGrid에서 가져 와서 데이터베이스에서 업데이트하고 싶습니다. 2 개의 목록을 사용하고 예외 쿼리를 만든 후에 수동으로 처리 할 수 ​​있지만 자동으로 가져오고 싶습니다.

답변