2011-04-07 2 views
0

DataAdapter를 사용하여 DB 테이블 (DB는 모바일 장치 인 - Psion)에 DataTable을 삽입하려고합니다. 어떤 이유에서 작동하지 않습니다 - 내가 DB 테이블을 검사 할 때 - 단순히 ... 빈 테이블로DataAdapter를 사용하여 DB에 DataTable을 삽입하지 마십시오.

코드가 나타납니다 : >

개인 무효 btnCommTables_Click (개체 보낸 사람, EventArgs입니다 전자를)
{

{
데이터 집합의 DS = WSDanielGroup.Instance._WSDanielGroupToDevice.GetLoadTables의 시도();

   DataTable DT = ds.Tables["Peer"]; 

      string SelectCMD = "INSERT INTO Peer(ID,PeerID) Values(?,?)"; 
      SqlCeConnection cn = new SqlCeConnection(DBManager.sLocalConnectionString); 





      SqlCeDataAdapter da=new SqlCeDataAdapter(); 
      da.InsertCommand = new SqlCeCommand(SelectCMD, cn); 

      cn.Open(); 

      da.InsertCommand.Parameters.Add("@ID", SqlDbType.Int,4,"ID"); 

      da.InsertCommand.Parameters.Add("@PeerID", SqlDbType.NVarChar,50, "PeerID"); 
      int numRows = da.Update(DT);   
} 

답변

0

한 가지 가능한 설명은 DataTable에 올바른 RowVersions이없는 것입니다. DataAdapter는 테이블에서 변경된 행만 업데이트합니다. 다른 곳에서 가져 오면 모든 것이 정상이며 아무것도 업데이트 할 필요가 없다고 생각합니다 ("더티"로 표시되지 않은 행). 더 많은 정보 here.

관련 문제