2012-04-20 2 views
0

SQL 데이터베이스에 4 개의 coloum 테이블이 있습니다. 처음 세 개의 열에 대한 정보는 다른 소스에서 제공합니다. coloum 4는 기본적으로 null로 설정됩니다.C# SQL 테이블에 datagridview 데이터 쓰기

public DataTable populateFormList() 
    { 


      SqlConnection con = new SqlConnection(Properties.Settings.Default.sqlConnectionString); 
      SqlCommand cmd = new SqlCommand("SELECT * FROM of_formlist_raw", con); 
      con.Open(); 

      SqlDataReader reader = cmd.ExecuteReader(); 

      DataTable dt = new DataTable(); 
      dt.Load(reader); 

      return dt; 
} 

datagridview2.DataSource = populateFormList(); 
datagridview2.Refresh(); 

이제 내 데이터를 획득에서 잘 작동합니다

나는 다음 코드를 사용하여 SQL tabase의 정보로 채워 데이터 테이블로 승리 양식을 가지고있다.

사용자는 어떻게 쉽게 다시 SQL 테이블에 데이터 테이블에서 이러한 변경 사항을 기록 할 수

열 4의 null 값을 변경할 수 있습니까?

즉, 화면 데이터 테이블에 추가 값이 있으면 원래의 SQL 데이터에서 업데이트 된 정보를 어떻게 다시 저장할 수 있습니까?

감사합니다.

+0

당신이 다시 SQL 테이블에 데이터베이스를 의미합니까? (가까운 연결, 그것을 사용 후 가까운 독자) –

답변

2

은 다음과 같이 뭔가를 시도하고 데이터 만 테이블로 (DataTable)datagridview2.DataSource을 전달합니다

private static void BulkInsertToSQL(DataTable dt, string tableName) 
     { 

       using (SqlConnection con = new SqlConnection(_DB)) 
       { 
        SqlBulkCopy sbc = new SqlBulkCopy(con); 
        sbc.DestinationTableName = tableName; 

        //if your DB col names don’t match your data table column names 100% 
        //then relate the source data table column names with the destination DB cols 
        sbc.ColumnMappings.Add("DBAttributeName1", "DTColumnName1"); 
        sbc.ColumnMappings.Add("DBAttributeName2", "DTColumnName2"); 
        sbc.ColumnMappings.Add("DBAttributeName3", "DTColumnName3"); 
        sbc.ColumnMappings.Add("DBAttributeName4", "DTColumnName4"); 

        con.Open(); 

        sbc.WriteToServer(dt); 
        con.Close(); 
       } 


     } 
0

TableAdapter를 포함하거나 포함하지 않은 옵션 2 개.

내가 훌륭한 구성 요소입니다있는 TableAdapter에

그들은 너무 BindingSources를 사용하기위한 read this in MSDN에 추천, 사용하기 쉬운.

TableAdapter가 없으면 read this, "명령 개체를 사용하여 레코드 업데이트"부분을 참조하십시오.

+0

4 coloum 이미 명시된 바와 같이, 그래서 난 그냥 테이블 atapater 사용할 수 있으며 다시 SQL 데이터베이스에 데이터 테이블 정보를 작성해야합니까? – tripbrock

+0

@tripbrock : 내 대답을 편집했습니다. – LaGrandMere

관련 문제