データベースにある特定のデータを自由に入れ替えできるようにと思い、DataSet の WriteXML と ReadXML を使ってあれこれしていたのですが、はまってしまいました。
数字項目と、文字項目だけからなるテーブルであれば単純に
dataSet1.WriteXml(filename);
と、
dataSet1.ReadXml(filename);
dataAdapter1.Update(dataSet1);
で読み書きができてしまいます。しかしこれに Boolean の項目が追加されたところでハマッテしまいました。タイミング悪くひとつの DataSet に複数のテーブルを登録した場合と被ってしまって、問題の切り分けに丸一日かかってしまいました。
で、解決策は『「スキーマ」も一緒に書き出しておく』でした。書き出し時に
dataSet1.WriteXml(filename, XmlWriteMode.WriteSchema);
としておくことで、スキーマ情報が付加された XML ファイルが生成されます。これを読み込めば Boolean 項目があってもすんなりと通ります。
0 件のコメント:
コメントを投稿