差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン両方とも次のリビジョン | ||
dotnet:dataset [2009/01/21 17:01] – nakayama | dotnet:dataset [2009/05/29 15:50] – ともやん | ||
---|---|---|---|
行 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] | ||
<code vbnet> | <code vbnet> | ||
+ | Imports System | ||
Imports System.Data | Imports System.Data | ||
行 31: | 行 64: | ||
[C#] | [C#] | ||
<code csharp> | <code csharp> | ||
+ | using System; | ||
using System.Data; | using System.Data; | ||
行 60: | 行 94: | ||
[C++] | [C++] | ||
<code cpp> | <code cpp> | ||
+ | using namespace System; | ||
using namespace System:: | using namespace System:: | ||
行 81: | 行 116: | ||
} | } | ||
</ | </ | ||
+ |