1

我正在尝试运行一个返回三列的简单查询,但遇到了一个错误,指出数据不存在,尽管我很确定它确实存在。

这是有问题的代码部分。

        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 回答