Visual Basic.NET - Problema en codigo sql para visual basic

 
Vista:
Imágen de perfil de JUAN MIGUEL
Val: 1
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema en codigo sql para visual basic

Publicado por JUAN MIGUEL (1 intervención) el 05/11/2018 18:44:26
hola amigos alguien me puede decir en donde tengo el error porque la palabra FROM me aparece una raya roja y no me deja ejecutar el codigo .programo en visual studio!! y estoy haciendo un programa en visual basic.net
el codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Imports MySql.Data.MySqlClient
 
Public Class frm_inicio_sesion
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
    End Sub
 
    Private Sub btn_ingresar_Click(sender As Object, e As EventArgs) Handles btn_ingresar.Click
        Dim conexion As MySqlConnection = New MySqlConnection
        Dim comando As MySqlCommand = New MySqlCommand
        comando.Connection = conexion
        Try
            conexion.ConnectionString = "server="";database="";uid="";pwd="""
            conexion.Open()
            MsgBox("conectado a la base")
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        comando.CommandText = " SELECT " FROM  tv_employee WHERE Usuario=" + usuarioTXT.Text + " And password_local=" + passwordTXT.Text + ""
    End Sub

End Class

agradeceria a quien me ayude con este problema ya lo había echo antes pero ahora no me funciona
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 230
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema en codigo sql para visual basic

Publicado por Cesar (79 intervenciones) el 05/11/2018 18:57:10
Hola.

No estas manejando bien las aperturas y cierres de cadenas (de hecho, tambien te tendria que haber mandado error, desde la cadena de conexion).

1
comando.CommandText = " SELECT " FROM tv_employee WHERE Usuario=" + usuarioTXT.Text + " And password_local=" + passwordTXT.Text + ""

Tendria que ser:

1
comando.CommandText = " SELECT * FROM tv_employee WHERE Usuario=" + usuarioTXT.Text + " And password_local=" + passwordTXT.Text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema en codigo sql para visual basic

Publicado por Yamil Bracho (2 intervenciones) el 05/11/2018 19:02:10
Es mejor usar sentencias preparadas, es decir, un command con Parameters
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Plutarco
Val: 27
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema en codigo sql para visual basic

Publicado por Plutarco (14 intervenciones) el 13/11/2018 19:43:50
Solo complementando la excelente respuesta de Cesar, te falta incluir las comillas sencillas para indicar el valor de tipo varchar en la sentencia de sql, es decir:

comando.CommandText = " SELECT * FROM tv_employee WHERE Usuario='" + usuarioTXT.Text + "' And password_local='" + passwordTXT.Text + "'' "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema en codigo sql para visual basic

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 14/11/2018 19:01:44
Muchachos, se les agradece su colaboración, pero jamás hagan eso.

Para evitar eso lo pueden hacer así:

comando.CommandText = "SELECT * FROM tv_employee WHERE Usuario=@Usuario And password_local=@Password"
comando.CommandType=Text
comando.Parameters.Add("@Usuario",MySqlDbType.Varchar).Value=datodeUsuario
comando,Parameter.Add("@Password",MysqlDbType.Varchar).value=datodePassword


Con eso reducen el riesgo que les inyecten código.

Otra cosa para el amigo que inició este post.

Todas las operaciones, se deben hacer dentro del bloque Try, para poder atrapar los errores en el catch, caso contrario no tiene sentido el bloquer Try Catch.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Plutarco
Val: 27
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema en codigo sql para visual basic

Publicado por Plutarco (14 intervenciones) el 05/12/2018 18:16:56
jajajaja ok

Gracias por el comentario "muchacho" sin embargo la respuesta fue clara del porqué es el error, no fue de de otra cosa

Salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar