Я получаю сообщение об ошибке в моем VB.NET приложении, которое подключается к моей базе данных SQL. Подключается нормально, но по какой-то причине я не могу исправить эту ошибку. Когда я пытаюсь это исправить, он перемещается из одной части моего сценария в другую часть моего сценария (обе из которых работали вчера). Детали ошибки:
![Error](https://i.stack.imgur.com/7Tljr.png)
К сожалению, мне сложно описать, как я получил этот результат, потому что он произошел во многих частях моего кода, и единственное, что объединяет эти части, это их взаимодействие со Listbox1.
Первая часть кода, чтобы получить эту ошибку была:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM [" & frmMain.ListBox1.SelectedItem.value & "]", con)
Тогда я получил точно такую же ошибку для:
Private Sub ListBox1_SelectedValueChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ListBox1.SelectedValueChanged
Try
Form1.Label1.Text = ListBox1.SelectedItem
Form1.Show()
Catch myerror As MySqlException
MessageBox.Show("Error Setting Up Project Page: " & myerror.Message)
End Try
End Sub
Более конкретно:
Form1.Label1.Text = ListBox1.SelectedItem
А потом я получил это еще несколько раз, но я думаю, что приведенных выше примеров будет достаточно.
Поскольку в приведенных выше примерах «С блочными переменными» нет, единственной другой опцией является то, что она связана с объектом. Я пробовал разные методы определения и переопределения переменных объекта, связанных с ошибкой. Тем не менее, результаты совпадают.
В ответ на ответ Juxtaposition моя первоначальная проблема была решена, однако две новые проблемы возникли именно потому, что я включил Option Strict.
Ошибка 1: опция «Строгое вкл.» Запрещает позднюю привязку.
Код, о котором идет речь:
Try
' Retrieving the projects list.
con.Open()
DataAdapter2.SelectCommand = sqlprojects
DataAdapter2.Fill(ds2, "projects")
ListBox1.Items.Clear()
For Each DataRow In ds2.Tables("projects").Rows
' Error occurs on the line below
ListBox1.Items.Add(DataRow("project_name"))
Next
con.Close()
Catch myerror As MySqlException
MessageBox.Show("Error Retrieving Projects List: " & myerror.Message)
End Try
Ошибка 2: опция «Строгое вкл.» Запрещает неявные преобразования из «объекта» в «строку».
Код, о котором идет речь:
Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
Try
If ListBox1.SelectedItem IsNot Nothing Then
' Error occurs on the line below
Form1.Label1.Text = ListBox1.SelectedItem
End If
Form1.Show()
Catch myerror As MySqlException
MessageBox.Show("Error Setting Up Project Page: " & myerror.Message)
End Try
End Sub
Это сработало ... поэтому я благодарю всех вас за ваше время и терпение.