none
ayuda con problema en Mysql.Data.Mysqlclient.MysqlException { "Table 'xxx.xxx' doesn't exist")

    Pregunta

  • Hola.

    Espero que me pueda ayudar.....

    Empiezo mis pininos con VB.NET y el Primero contratiempo que me he topado es: Mysql.Data.Mysqlclient.MysqlException { "Table 'xxx.xxx' doesn't exist").

    estoy manejado Visual Estudio 20015 y Mysql 5.7.16.0.

    les dejo el codigo que estoy manejando, espero que me puedan ayudar, ya que he visto otros y jemplos y corren sin problema. de antemano mil gracias!!!!!

    Imports MySql.Data.MySqlClient

    Public Class Form1

        Dim conexion As New MySqlConnection

        Dim adaptador As New MySqlDataAdapter

        Dim datos As New DataSet

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

            Try

                conexion.ConnectionString = ("server=127.0.0.1;user id=root;password=mamapapa;persistsecurityinfo=True;database=agenda;port=3306")

                conexion.Open()

            Catch ex As Exception

                MsgBox(ex.Message)

            End Try

        End Sub

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            Dim consulta As String

            Dim lista As Byte

            If TextBox1.Text <> "" And TextBox2.Text <> "" Then

                consulta = "select * from usuarios where nombre='" & TextBox1.Text & "' and password='" & TextBox2.Text & "'"

                adaptador = New MySqlDataAdapter(consulta, conexion)

                datos = New DataSet

                adaptador.Fill(datos, "usuarios")

                lista = datos.Tables("usuarios").Rows.Count

            End If

            If lista <> 0 Then

                MsgBox("Bienvenido")

            Else

                MsgBox("Intentelo de nuevo")

            End If

        End Sub

    End Class

    <style type="text/css">p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #0433ff} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; min-height: 11.0px} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.5px Helvetica; color: #b4261a} span.s1 {color: #0433ff} span.s2 {color: #000000} span.s3 {color: #33a2bd} span.s4 {color: #b4261a} </style>
    lunes, 21 de noviembre de 2016 17:22

Respuestas

  • Hola mi pana revisa esta pagina y los diferentes ejemplos que te ofrece para cadenas de conexión con MySQL

    https://www.connectionstrings.com/mysql-connector-net-mysqlconnection/

    lunes, 21 de noviembre de 2016 18:23
  • Hola RICARDO YAH,

    'La tabla 'x' no existe', es bastante descriptivo no crees ? Verifica el nombre de tu BD en MySQL entre mayúsculas  y minúsculas.

    Por otro lado si solo vas a hacer una validación si el usuario y/o contraseña son correctos hacer algo, podrías hacer uso de la función Count(*) en tu query y mediante el ExecuteScalar obtienes el valor y lo validas.

    - Procura parametrizar tu consulta.

    Algo como :

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
        If TextBox1.Text.Trim() = String.Empty Or
                TextBox2.Text.Trim() = String.Empty Then
            MessageBox.Show("Complete los campos...")
            Exit Sub 'Sale del evento
        End If
    
        Try
            Using cn As New MySqlConnection("MiCadenaConexion")
    
                Dim query = "Select count(*) from usuarios where nombre = @nombre and password = @pwd"
    
                Dim cmd As New MySqlCommand(query, cn)
                cmd.Parameters.AddWithValue("@nombre", TextBox1.Text)
                cmd.Parameters.AddWithValue("@pwd", TextBox2.Text)
    
                Dim existe As Boolean = CInt(cmd.ExecuteScalar()) > 0
    
                If existe Then  'Si es True
                    MsgBox("Bienvenido")
                Else
                    MsgBox("Usuario y/o contraseña incorrectos.")
                End If
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    lunes, 21 de noviembre de 2016 18:44

Todas las respuestas

  • Hola mi pana revisa esta pagina y los diferentes ejemplos que te ofrece para cadenas de conexión con MySQL

    https://www.connectionstrings.com/mysql-connector-net-mysqlconnection/

    lunes, 21 de noviembre de 2016 18:23
  • Hola RICARDO YAH,

    'La tabla 'x' no existe', es bastante descriptivo no crees ? Verifica el nombre de tu BD en MySQL entre mayúsculas  y minúsculas.

    Por otro lado si solo vas a hacer una validación si el usuario y/o contraseña son correctos hacer algo, podrías hacer uso de la función Count(*) en tu query y mediante el ExecuteScalar obtienes el valor y lo validas.

    - Procura parametrizar tu consulta.

    Algo como :

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
        If TextBox1.Text.Trim() = String.Empty Or
                TextBox2.Text.Trim() = String.Empty Then
            MessageBox.Show("Complete los campos...")
            Exit Sub 'Sale del evento
        End If
    
        Try
            Using cn As New MySqlConnection("MiCadenaConexion")
    
                Dim query = "Select count(*) from usuarios where nombre = @nombre and password = @pwd"
    
                Dim cmd As New MySqlCommand(query, cn)
                cmd.Parameters.AddWithValue("@nombre", TextBox1.Text)
                cmd.Parameters.AddWithValue("@pwd", TextBox2.Text)
    
                Dim existe As Boolean = CInt(cmd.ExecuteScalar()) > 0
    
                If existe Then  'Si es True
                    MsgBox("Bienvenido")
                Else
                    MsgBox("Usuario y/o contraseña incorrectos.")
                End If
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    lunes, 21 de noviembre de 2016 18:44