2009-06-05 4 views
1

저는 select 쿼리를 사용하고 데이터 집합을 채우기 만합니다. 일부 변경을하고 나는이삭제가있는 SQLDataadapter

foreach (DataRow dr in dsDatadata.Tables[0].Rows) 
           { 
            dr.Delete(); 
           } 



           sdAdapter.Update(dsDatadata,"DataData"); 

를하고있는 중이 야하지만이 작동하지 않는 데이터 세트에서이 항목을 삭제합니다.

참고 : -

어떻게이 문제를 해결하기 위해 나는 SQL 명령 삭제를 사용하려는 해달라고?

+0

더 자세한 정보를 제공해야합니다 ... 작동하지 않는 이유는 무엇입니까? 예외는 없습니까? –

답변

1

sdAdapter에는 SQL 삭제 명령에 Command이 없기 때문입니다.
CommandBuilder을 사용하여 어댑터에 대해 INSERT, UPDATE 및 DELETE 명령을 자동으로 생성 할 수 있지만 단순한 쿼리 (단일 테이블의 경우 조인 없음)에서만 작동합니다.

foreach (DataRow dr in dsDatadata.Tables[0].Rows) { 
    dr.Delete(); 
} 
DataAdapter sdAdapter; 

DbCommandBuilder cb = new SqlCommandBuilder(sdAdapter); 
sdAdapter.Update(dsDatadata, "DataData"); 

참고 : 나는 데 SqlCommandBuilder를 사용하지만 쿼리가 더 복잡 경우에 당신은 ... 당신이 사용하는 하나 (인 OleDB ...)
는 자세한 내용은 MSDN Documentation를 참조하여

를 교체해야 , 쉬운 길은 없다. SQL을 직접 써야한다.

관련 문제