Trato de hacer una simple validacion de login conectandome al sql server, hasta aqui todo bien, el problema surge en la cadena SQL.
Código:
Ese es mi codigo (no mio en realidad, lo tenia guardado, creo que lo obtuve de internet). El problema se presenta en la cadena SQL, el error que me muestra esImports System.Data.SqlClient Imports System.Text Public Class bienvenido Private Sub entrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles entrar.Click Dim usuarioTmp As String = FixString(Trim(Me.usuario.Text), "'", "''") Dim passwordTmp As String = FixString(Trim(Me.pass.Text), "'", "''") Dim cnString As String = My.Settings.CGADSConnectionString If usuarioTmp <> "" And passwordTmp <> "" Then Dim connection As New SqlConnection(cnString) Try connection.Open() Dim cadena_comando As String = "SELECT pass FROM usuarios WHERE usuario='" & usuarioTmp & "' AND pass='" & passwordTmp & "'" Dim command As SqlCommand = New SqlCommand(cadena_comando, connection) Dim myPassword As String = Trim(command.ExecuteScalar.ToString) If StrComp(myPassword, passwordTmp, CompareMethod.Binary) = 0 Then connection.Close() Me.DialogResult = Windows.Forms.DialogResult.OK If Not Me.Modal Then Me.Close() Else MsgBox("Ha ocurrido un error al momento de iniciar sesión.Intentelo mas tarde.") End If Catch ex As Exception MsgBox("Error " & Err.Number & " :" & ex.Message) Finally If connection IsNot Nothing AndAlso connection.State <> ConnectionState.Closed Then connection.Close() End If End Try End If End Sub Private Function FixString(ByVal SourceString As String, ByVal StringToReplace As String, ByVal StringReplacement As String) As String SourceString = SourceString.Replace(StringToReplace, StringReplacement) Return SourceString End Function End Class
"referencia a objeto no establecida en instancia de un objeto",
esto lo se porque si pusiera "SELECT pass FROM usuarios" funciona bien, de igual manera si le pusiera directamente "SELECT pass FROM usuarios WHERE usuario='myuser' AND pass='mypass' ".
He intentado directamente con el valor Me.usuario.Text en la cadena SQL pero no funciona.
Gracias por su ayuda!