1

3つの列を返す単純なクエリを実行しようとしていますが、データが存在しないことを示すエラーが発生しています。

これは問題のコードのセクションです。

        cmd.CommandText = "SELECT school.id, school.city, school.state 
                           FROM school,city
                           WHERE school.name = '" & SchoolLb.SelectedItem & "'
                           AND city.name = '" & CityLb.SelectedItem & "';"

        'MessageBox.Show(cmd.ExecuteScalar)
        myReader = cmd.ExecuteReader
        profileSchool = myReader(0)
        profileCity = myReader(1)
        profileState = myReader(2)

学校リストボックスには、都市リストボックスで現在選択されている都市にある学校が表示されるため、それらは一致します。実行からコメントタグを削除しMessageBox.Show(cmd.ExecuteScalar)ExecuteScalar正しいレコードのIDを示すメッセージを返すと。ただし、使用するcmd.ExecuteReaderと上記のエラーが発生します。

見てくれてありがとう。

4

1 に答える 1

2

リーダーを実行してから、次を使用してリーダーを次のレコードに進める必要がありますreader.Read()

Using reader = cmd.ExecuteReader()
    reader.Read()
    profileSchool = reader(0)
    profileCity = reader(1)
    profileState = reader(2)
End Using 
于 2013-01-22T22:23:23.737 に答える