DOBON.NET DOBON.NETプログラミング掲示板過去ログ

データベースから、一行ずつ

環境/言語:[Windows2000 pro, VB .NET]
分類:[.NET]

初めましてこんにちわ、らるごと申します。
VB .NET で DB は SQL Server を使用しています。

早速質問なのですが・・・
アンケートプログラム的なものを作っていて、まず、DB に氏名・ふりがな等のデータが二行以上あるとします。
そして、新規、または編集登録をする画面で、既存の氏名と同じ氏名を入力してあった場合、エラー画面に Redirect したいのです。
(編集の場合は、編集しようとしている氏名と同じ氏名でも構わない)

SQL で、すべての氏名を取り出して、それと照合させようにも、一行分のデータを取ってくるやり方しか知らないので、
最初の行の氏名としか照合できませんm(_ _)m

わかりにくいかもしれませんので、下に、処理部分を記述しておきます。

If objSQLDr.Read() = True Then
    If Session("type") = "新規" Then
    ' 新規の場合
        For j = 0 To ' DB の行数
            If objSQLDr.Item("U_Name") = Session("Simei") Then
                Session("error") = objSQLDr.Item(0)
                Response.Redirect("error.aspx")
            End If
        Next
    Else
    ' 編集の場合

    End If
End If

どなたか、ご教授おねがいしますm(_ _)m
説明不足であれば、後述いたします。
こんにちは、永遠の初心者です。
深く考え込む必要は無いですよ^^
>If objSQLDr.Read() = True Then
の部分をループ形式にすれば、良いだけです。
While文でもDo..Loop文でも、出来ますよ。
永遠の初心者さん、こんにちわ^^
お早い、返信まことにありがとうございます。

ご教授の通り、
> If objSQLDr.Read() = True Then
を、While 文で書いただけで、うまくいきました・・・

こんな一つのことに気づかなかったなんて、おはずかしぃ><
これからは、気楽に(?)やってみます〜。

ありがとうございましたm(_ _)m
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板