2013-02-01 2 views
0

나쁜 실행인지 알고 싶습니다. 각 행에 약 10 개의 텍스트 상자가있는 50 행의 DataGrid 페이지가 있습니다. 페이지 기능은 ms SQL에서 업데이트하고 저장하는 단추로 매우 간단합니다. 사용자가 버튼을 클릭하면 저장하는 데 시간이 오래 걸립니다. 숨겨진 ID 필드 ID를 사용하여 SQL 루프에서 업데이트를 사용하고 있습니다. 단순히 테이블을 업데이트하는 가장 좋은 방법은 무엇입니까?DataGrid의 SQL 데이터베이스 업데이트

for (int i=0; i<options_bind.Items.Count; i++) 

{ 

if (((CheckBox)options_bind.Items[i].FindControl("check_Save")).Checked) 
    { 
     call sql update one by one here 
    } 

    } 
+0

당신이 DataGridView에 데이터를 바인딩 DataTable을 사용하는 업데이트 이벤트에 대한합니까? –

+0

DataSet DS = 새 DataSet(); myCommand.Fill (DS, "vendor"); options_bind.DataSource = DS; 나는 그것을 바인딩하는 코드를 보았고, save 버튼에서 행 단위로 루핑하고 update 메소드를 호출했다. 때로는 너무 느려서 시간이 초과됩니다. ( – Diggie

답변

1

사용 SqlCommanBuilder는 DataGridView를

 sqlDataAdapter = new SqlDataAdapter(selectQueryString, sqlConnection); 
     sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter); 

     dataTable = new DataTable(); 
     sqlDataAdapter.Fill(dataTable); 
     bindingSource = new BindingSource(); 
     bindingSource.DataSource = dataTable; 

     yourDataGridView.DataSource = bindingSource; 

에 데이터를 바인딩 그리고

  try 
      { 
       sqlDataAdapter.Update(dataTable); 
      } 
      catch (Exception exceptionObj) 
      { 
       MessageBox.Show(exceptionObj.Message.ToString()); 
      } 
관련 문제