Преобразование строки "type" В тип "integer" недопустимо. " пожалуйста, помогите мне
Private Sub OKbt1_Click(sender As Object, e As EventArgs) Handles OKbt1.Click Call Connect() ' [ connection to module ]' Dim Reader As SqlDataReader Try 'selecting DATA from DATABASE Dim query As String query = "select * from uinfo where password = '" & PASStb2.Text & "' " command = New SqlCommand(query, sqlConn) 'Dim command As New SqlCommand("select * from uinfo where password = '" & PASStb2.Text & "'", sqlConn) 'Dim dt As New DataTable 'Dim adapter As New SqlDataAdapter(command) 'adapter.Fill(dt) Reader = command.ExecuteReader Dim count As Integer count = 0 While Reader.Read count = count + 1 End While If count = 1 Then Dim usertype = Reader.GetString("Type") If usertype = "admin" Then 'MsgBox("username and password are correct") MAIN_MENU.Show() For a = 0 To 500 Next Me.Hide() sqlConn.Close() sqlConn.Dispose() ElseIf usertype = "user" Then For a = 0 To 500 Next Me.Hide() 'MsgBox("username and password are correct") USERMENU.Show() End If ElseIf count > 1 Then MsgBox("username and password are duplicate") Else MsgBox("username and password are not correct") End If sqlConn.Close() Catch ex As SqlException MsgBox(ex.Message) Finally sqlConn.Dispose() End Try End Sub
Что я уже пробовал:
я попытался изменить его на двойной но та же ошибка d Sub
ошибка выглядит примерно так "
System.InvalidCastException: 'Conversion from string "Type" to type 'Integer' is not valid.'"
RedDk
Нет никаких причин использовать безопасный код, который не уязвим для sql-инъекций, как правило, путем создания cte, на коробке, которая не имеет требований безопасности ... но, навскидку, эта ошибка "преобразование из строки в целое число" кажется мне первой вещью, показанной в том, что, вероятно, является каскадной ошибкой, относящейся к методу, который пытается запихнуть много вещей в контейнер, который будет содержать только одну вещь. Поэтому исправьте TSQL, указав имя столбца в операторе SELECT.