Ошибка при подключении к базе данных с помощью VB
Мне нужна помощь с моими кодами и / или подключением.Я получаю ошибку, которая говорит::
Необработанное исключение типа ' System.InvalidOperationException ' произошло в System.Data.dll
Дополнительная информация: ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения закрыто.
В этом коде: (строка 4)
cmd.Connection = cn cmd.CommandText = "SELECT ID, LastName, FirstName FROM tblMembers WHERE ID = @ID" cmd.Parameters.Add(New SqlClient.SqlParameter("@ID", SqlDbType.Int)).Value = dg1.Item(0, e.RowIndex).Value dr = cmd.ExecuteReader If dr.HasRows() Then With dr .Read() txtLname.Text = dr("LastName") txtFname.Text = dr("FirstName") End With End If
Но если я попытаюсь открыть соединение. Такое случается.
Необработанное исключение типа ' System.InvalidOperationException ' произошло в System.Data.dll
Дополнительная информация: соединение не было закрыто. Текущее состояние соединения открыто.
С этим кодом: (строка 1)
cn.Open() cmd.Connection = cn cmd.CommandText = "SELECT ID, LastName, FirstName FROM tblMembers WHERE ID = @ID" cmd.Parameters.Add(New SqlClient.SqlParameter("@ID", SqlDbType.Int)).Value = dg1.Item(0, e.RowIndex).Value dr = cmd.ExecuteReader If dr.HasRows() Then With dr .Read() txtLname.Text = dr("LastName") txtFname.Text = dr("FirstName") End With End If
Что я уже пробовал:
Я попытался запустить отладку, не открывая соединение, и он говорит, что мне нужно открыть соединение в строке 4 (Executereader), но если я открою соединение, он скажет, что соединение не было закрыто.
Patrice T
Покажите, что такое cn.
Paolo Tansengco
Спасибо за обратную связь, ребята. Я уже нашел решение с помощью нескольких настроек кода. все равно спасибо.
Karthik_Mahalingam
хороший