2009-04-04 7 views
0

내 C# 프로젝트에서 DataTable의 DataGrid에 값을 채 웠습니다. 이제 DataGrid의 값을 변경하면 DataBase에서 값을 업데이트해야합니다. MS 액세스를 사용하고 있습니다. 다음은 DataGrid에서 값을 채우는 코드 스 니펫입니다.데이터베이스에서 dataGrid를 업데이트하는 방법

    while (myReader.Read()) 
       { 
        frmBind.dr = frmBind.dtResults.NewRow(); 
        frmBind.dr["ClassName"] = myReader.GetString(0); 

        frmBind.dr["MethodSignature"] = myReader.GetString(1); 

        frmBind.dr["ParameterValues"] = myReader.GetString(2); 
        frmBind.dr["ExpectedResults"] = myReader.GetString(3); 


        frmBind.dtResults.Rows.Add(frmBind.dr); 

       } 

       frmBind.dataGrid2.DataSource = frmBind.dtResults; 

, dtResults는 DataTable을하고, frmBind는 클래스 개체입니다 dataGrid2는 데이터베이스에서 값을 얻기 위해 사용되는 데이터 그리드, myReader.Read는()입니다.

답변

1

데이터 제공기를 삭제하는 것이 좋습니다.

SQLDataSource를 페이지로 끌어서 쿼리로 구성하십시오. 코드를 전혀 쓰지 않고 읽고/업데이트 할 수 있습니다.

+0

아니요, OP는 액세스 및 (가능성이 높은) WinForms를 사용하고 있습니다. –

+0

나의 사과 - Henk이 맞습니다. DataGrid를보고 GridView를 생각했습니다. 최근에 너무 많은 WebForm을 수행하고 있습니다. – RichardHowells

1

쉬운 방법은 xxxADapter (사용하는 ADO 공급자에 따라 다름)를 사용하는 것입니다.

드래그 앤 드롭을 사용하지 않는 정당한 이유가 있는지 확인하십시오 (최소한 스타터 용). 여기에 일부 useful videos가 있습니다. 먼저 데이터 세트에 대한 정보를 확인하십시오.

xxx 명령을 사용하여 수행하려는 경우 InsertCommand, UpdateCommand 및 DeleteCommand가 필요합니다. 행을 반복하고 RowState를 확인합니다. RowState == DataRowState.Added 인 경우 InsertCommand 등을 사용하십시오.

먼저 dtchanged = dtResults.GetChanges()을 사용하고 편리하게 사용할 수 있습니다.

관련 문제