SQLPort 데이터베이스를 사용하여 작업하고 나중에 직렬 포트를 통해 장치로 정보를 보내고받는 프로젝트에 연결됩니다. 이 데이터베이스는 통신의 모든 부분에 대한 정보를 저장합니다. 데이터 집합을 업데이트하고이 업데이트 된 데이터를 데이터베이스에 커밋하는 데 조금 어려움이 있습니다.SQL CE 및 데이터 집합 - 행이 없습니다.
data = new DataSet();
adapter = new SqlCeDataAdapter("SELECT * FROM " + [table_name])
builder = new SqlCeCommandBuilder(adapter);
adapter.Fill(data, [table_name]);
data.Tables[table_name].Rows[identity_value][a_column] = a_column_value;
adapter.Update(data, [table_name]);
나는 ID 값 1에서 테이블의 레코드를 가지고 내가 보장하고있어이 방법을 실행하기 전에 나는 adapter.Update를 호출하기 전에 그러나 나는 There is no row at position 1
IndexOutOfRangeException을 얻고있다(). 데이터 집합을 사용하고 업데이트하는 방법을 잘못 이해했다고 가정합니다. 어떤 충고?
행을 업데이트하기 전에 Dataset을 살펴 보았지만 디버거가 Dataset을 피어날 수는없는 것 같습니다. 이렇게하는 방법이 있습니까? 이
) (builder.GetDeleteComm를 데이터 집합은) 당신이 builder.GetInsertCommand을 (를 호출해야합니다 생각의 SQL Server Compact – ErikEJ
에 액세스 할 수있는 가장 성능이 좋은 방법이 아니다 사용 builder.GetUpdateCommand 및()를 사용하여 데이터 어댑터를 업데이트하십시오. – Derek
그러나 내 디자인 결정이 아니었지만 무엇을 권하고 싶습니까? –