差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| dotnet:dataset [2009/01/21 17:03] – nakayama | dotnet:dataset [2019/05/18 02:23] (現在) – 外部編集 非ログインユーザー | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== DataSet クラス (System.Data) ====== | ====== DataSet クラス (System.Data) ====== | ||
| + | ===== XMLの読み込み/ | ||
| + | [C#] | ||
| + | <code csharp> | ||
| + | // 読み込み対象ファイルパス | ||
| + | string fileName = @" | ||
| + | // XMLファイルの読み込み | ||
| + | xmlDataSet.ReadXml(fileName); | ||
| + | </ | ||
| + | |||
| + | [C#] | ||
| + | <code csharp> | ||
| + | // 書き込み対象ファイルパス | ||
| + | string fileName = @" | ||
| + | // XMLファイルの書き込み | ||
| + | xmlDataSet.WriteXml(fileName); | ||
| + | </ | ||
| + | |||
| + | ===== 未知のXML形式から型付データセット用にXSDを生成 ===== | ||
| + | [C#] | ||
| + | <code csharp> | ||
| + | // 未知のXML形式ファイルパス | ||
| + | string xmlFileName = @" | ||
| + | // XSDファイルパス | ||
| + | string xsdFileName = @" | ||
| + | // XMLファイルの読み込み | ||
| + | xmlDataSet.ReadXml(xmlFileName ); | ||
| + | // XSDファイルの書き込み | ||
| + | xmlDataSet.WriteXmlSchema(xsdFileName); | ||
| + | </ | ||
| + | XSDファイルは Visual Studio にドラッグアンドドロップすることで型付データセットを生成できる。\\ | ||
| + | また、型付データセット内の余分な DataTable を削除して、型付データセットを利用して ReadXml() を行うことで、余分なテーブルデータをスキップしてXMLファイルを読み込むことができる。 | ||
| + | |||
| ===== DataTableのソート ===== | ===== DataTableのソート ===== | ||
| DataTableのソートは、DataViewのSort機能を利用して行うことができる。しかし、型付DataSetの場合は、DataViewによってソートを行いToTable()メソッドで結果を得ようとすると、ToTable()メソッドはDataTable型を返却するため、ソートを行った以降の処理で型付DataSetによって自動生成されたコードの恩恵を受けられなくなってしまう。\\ | DataTableのソートは、DataViewのSort機能を利用して行うことができる。しかし、型付DataSetの場合は、DataViewによってソートを行いToTable()メソッドで結果を得ようとすると、ToTable()メソッドはDataTable型を返却するため、ソートを行った以降の処理で型付DataSetによって自動生成されたコードの恩恵を受けられなくなってしまう。\\ | ||
| \\ | \\ | ||
| - | ここでは、型付DataSetのDataTableを型付のままソートするために、ジェネリックメソッドの実装方法を以下に示す。\\ | + | ここでは、ジェネリックメソッドを実装して、型付DataSetのDataTableを型付のままソートする方法を紹介する。\\ |
| \\ | \\ | ||
| [VB] | [VB] | ||
| 行 84: | 行 116: | ||
| } | } | ||
| </ | </ | ||
| + | |||