EOFの確認について

解決


ながなが  2008-10-16 16:02:47  No: 145295  IP: 192.*.*.*

いつもお世話になります。
ADO.NETを最近はじめました。
ADOの時代にデータがあるかどうかを「if recordset.eof then 〜」のように記述してましたが、ADO.NETではどのようにすればいいのでしょうか?
よろしくお願いいたします。

編集 削除
魔界の仮面弁士  2008-10-16 16:58:34  No: 145296  IP: 192.*.*.*

DataTable に受け取っているなら、.Rows.Count で取得できます。
型付 の DataTable をお使いなら、.Count だけでも OK です。

IDataReader にて受け取るなら、HasRows プロパティもしくは
初回の Read メソッドの戻り値にて判断できます。

編集 削除
YuO  2008-10-16 17:34:06  No: 145297  IP: 192.*.*.*

HasRowsはDbDataReaderのプロパティだそうです。
http://msdn.microsoft.com/ja-jp/library/system.data.common.dbdatareader.hasrows.aspx
# ↑「実装」の項目がない

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200810/08100039.txt
の内容だと,IDbComamnd.ExecuteScalar使えばいい気がしますけどね。

編集 削除
ながなが  2008-10-17 13:14:45  No: 145298  IP: 192.*.*.*

ありがとうございます。
ADOでのデータの値を参照するのに
例えば
debug.print rs!社員名
と表示するのはADO.NETではどのようにすればいいのでしょうか?
以下に現在書いているコードを載背させていただきます。

        '//---コネクション
        Dim cn As New SqlConnection _
            ("Data Source=anp_sqlserver;" _
             & "Initial Catalog=" & "PC固定資産管理システム" _
             & ";User ID=sa;password=''")
        cn.Open()

        '//---コマンド
        Dim MyAdapter As New SqlDataAdapter _
            ("select ID,固定資産管理コード from [TA1001_PCマスタ] " _
             & "where 固定資産管理コード=" _
             & Me.txt固定資産コード.Text & "", cn)
        '//---Datasetオブジェクト
        Dim MyDataSet As New DataSet
        '//---テーブル
        Dim MyTable As DataTable
        '//---Row
        Dim MyRow As DataRow
        '************************************************************'
        '       接続開始
        '************************************************************'
        MyAdapter.Fill(MyDataSet, "TA1001_PCマスタ")
        MyTable = MyDataSet.Tables("TA1001_PCマスタ")
        
          ↓ここをどうすればいいのかがわかりません。今のままでは新しいレコードを1件追加してしまいます。
        MyRow = MyTable.NewRow

        '//---EOFの時(次ページは新規追加モード)
        If MyTable.Rows.Count = 0 Then
            ADDUPFLG = 0
        End If

        '//---EOFでない時(次ページは修正モード)
        If MyTable.Rows.Count <> 0 Then
            ADDUPFLG = 1
                    ↓この部分でIDの値を変数にセットしたいです。
            UpID = MyRow("ID")
        End If











以上よろしくお願いいたします。

編集 削除
ながなが  2008-10-20 18:35:15  No: 145299  IP: 192.*.*.*

解決しました。ありがとうございます。

編集 削除