我正在尝试运行一个返回三列的简单查询但遇到错误,说明数据不存在但我确信它确实存在。
这是有问题的代码部分。
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
时,我会收到上述错误。
感谢您的光临。
答案 0 :(得分:2)
您需要执行阅读器,然后使用reader.Read()
:
Using reader = cmd.ExecuteReader()
reader.Read()
profileSchool = reader(0)
profileCity = reader(1)
profileState = reader(2)
End Using