Надеюсь, у вас все хорошо.
У меня есть Listbox, которому я хочу назначить первичный ключ, и текст (например, таблица студентов).Поэтому я написал этот код.
mySQLCmd.CommandText = "SELECT studentname, studentid FROM studentstable WHERE Year(DOB) = " + selectedYear
Dim dt As New DataTable
myReader = myCmd.ExecuteReader()
dt.Load(myReader)
Listbox1.datavaluefield = "studentid"
Listbox1.datatextfield = "studentname"
ListBox1.DataSource = dt
ListBox1.DataBind()
Список работает нормально.Оператор SQL работает нормально.И я хочу поймать свойства selectedvalue и selecteditem в ListBox1_SelectedIndexChanged
1. Dim selectedPupil As String = ListBox1.SelectedItem.ToString()
2. Dim selectedPupilID As Integer = ListBox1.SelectedValue
Когда я выбираю что-то в списке, свойства selecteditem и selectedvalue просто возвращают имя студента, а не идентификатор студента.Итак, я получаю эту ошибку.
Error on Line2. Conversion from string "RichardCole" to type 'Integer' is not valid.
Не знаю почему?Так я получу обратно значение студента?Мне нужно знать, что имя coz нельзя использовать в качестве PK, поэтому
Большое спасибо.