HIRO's.NET

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

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

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

HIRO's.NET RSSHIRO's.NET RSS


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

HOME > VB.NET 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)レコード番号を取得して表示する

応用としては、検索したレコード番号をDataViewのDeleteメソッドの引数に指定して削除することがあげられます。

 
サンプル
Imports System.Data.OracleClient
:
:省略
:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    '1)変数の宣言
    Dim OraConn As OracleConnection = New OracleConnection
    Dim OraDA As OracleDataAdapter
    Dim dtSet As DataSet = New DataSet("EMP")
    Dim dtView As New DataView
    Dim intRecCnt As Integer

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

    '3)SELECT文の作成
    Dim strSelect As String
    strSelect = "SELECT * FROM EMP"

    '4)SELECT用コマンドオブジェクトの作成
    Dim SelectCmd As 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 & "」です。")

End Sub