문제

저는 사용자가 내 응용 프로그램의 한 복사본에 있는 SQL CE 데이터베이스의 데이터를 내보내고 다른 쪽 끝에서 이를 SQL CE로 다시 가져올 수 있는 제품 기능을 개발 중입니다.이 데이터는 전체 테이블이 아니라 쿼리 결과입니다.

저는 DataTable.WriteXML과 같이 .net에 내장된 XML 기반 직렬화 기능을 활용하고 싶었습니다.그러나 SqlCeCommand에 대해 쿼리를 실행하는 메서드 중 어느 것도 XML로 직렬화하거나 메서드를 제공할 수 있는 DataTable을 추출하는 확실한 방법을 제공하지 않습니다.

내가 놓친 것이 있나요?직렬화-역직렬화 방법을 직접 작성해야 합니까, 아니면 내장된 방법이 있습니까?

도움이 되었습니까?

해결책

cmd가 SqlCeCommand라고 가정합니다....

using(var dr = cmd.ExecuteReader())
{
   DataSet ds = new DataSet();
   DataTable dt = ds.Tables.Add();
   dt.Load(dr);
   ds.WriteXML(...);
}

다른 팁

당신은 SqlCeDataAdapter 그리고 그것을 사용 .Fill() 데이터 세트.그런 다음 이를 통해 전체 데이터 세트를 직렬화합니다. .WriteXml() 방법.

DataSet으로 데이터를 검색하고 여기에 WriteXML을 호출한 다음 다른 쪽 끝에서 새 DataSet을 선언하고 ReadXML을 호출할 수 있을 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top