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 メニュー

09.レコードを検索してヒットしたレコード番号を取得する

UPDATE:2004/05/14 

<< 前のTips  次のTips >>

 

 DataViewのFindメソッドを使用すると、並べ替えが指定されているフィールドを利用して、レコードを検索することができます。Sortプロパティと併せて使用します。Findメソッドでは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)レコード番号を取得して表示する
    // フィールド「EmpNo」で並べ替えをして取得
    dtView.Sort = "EMPNO";
    intRecNo = dtView.Find("888");
    MessageBox.Show("レコード番号は「" + intRecNo.ToString() + "」です。");

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

}