HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > コントロール > DataView Tips メニュー

10.条件を指定してレコードを抽出する

UPDATE:2004/05/14 

<< 前のTips  次のTips >>

 

 DataViewのRowFilterプロパティを使用すると、現時点で格納されているDataViewのテーブルに対して条件を指定して抽出したレコードを格納することができます。Sortプロパティも併せて使用することができます。

手順
1)変数の宣言
2)接続文字列の作成
3)SELECT文の作成
4)SELECT用コマンドオブジェクトの作成
5)データアダプタの作成
6)データセットにデータを取得する
7)DataViewにDataSetのテーブルを連結する
8)条件を指定してレコードを抽出する

 
サンプル
using System.Data.OracleClient;
:
:省略
:
private void button1_Click(object sender, System.EventArgs e)
{

    // 1)変数の宣言
    OracleConnection OraConn = new OracleConnection();
    OracleDataAdapter OraDA;
    DataSet dtSet = new DataSet("EMP");
    DataView dtView = new DataView();
    int intRecCnt;

    // 2)接続文字列の作成
    OraConn.ConnectionString =
        "user id=SCOTT;" +
        "password=TIGER;" +
        "Data Source=OracleServer";

    // 3)SELECT文の作成
    string strSelect;
    strSelect = "SELECT * FROM EMP";

    // 4)SELECT用コマンドオブジェクトの作成
    OracleCommand SelectCmd = new OracleCommand();
    SelectCmd.Connection = OraConn;
    SelectCmd.CommandText = strSelect;

    // 5)データアダプタの作成
    OraDA = new OracleDataAdapter();
    OraDA.SelectCommand = SelectCmd;

    // 6)データセットにデータを取得する
    OraDA.Fill(dtSet, "EMP_TBL");

    // 7)DataViewにDataSetのテーブルを連結する
    dtView.Table = dtSet.Tables[0];

    // 8)条件を指定してレコードを抽出する
    //「JOB」フィールドが「CLERK」のレコードを抽出してDataViewに格納
    dtView.RowFilter = "JOB = 'CLERK'";

    // dataGridで確認する場合下記のコメントをはずす
    // dataGrid1.DataSource = dtView;

}