Vb.net 选择多列时ExecuteReader错误";“行/列”不存在数据;

Vb.net 选择多列时ExecuteReader错误";“行/列”不存在数据;,vb.net,sql-server-ce,Vb.net,Sql Server Ce,我试图运行一个返回三列的简单查询,但遇到一个错误,指出数据不存在,尽管我很确定它确实存在 这是有问题的代码部分 cmd.CommandText = "SELECT school.id, school.city, school.state FROM school,city WHERE school.name = '" & SchoolLb.SelectedItem

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

这是有问题的代码部分

        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
时,我得到了上面提到的错误


谢谢查看。

您需要执行读卡器,然后使用以下命令将其前进到下一条记录:


谢谢你,先生。我有一个方法去与vb.net和数据库!
Using reader = cmd.ExecuteReader()
    reader.Read()
    profileSchool = reader(0)
    profileCity = reader(1)
    profileState = reader(2)
End Using