Título: Ingresar datos en tabla MySQL con vb.NET
Publicado por: Eavesdropping en 25 Abril 2012, 13:00 pm
Les comento, estoy haciendo un software para ingresar datos en una una tabla ya creada, es MySQL para poder tenerla online y que el programa acceda. La idea es recuperarla en un DataGrid. Hice un código que lograba conectar con la bd, luego intenté ingresar datos de unos textBox y nada. He buscado por el foro, y Graphixx da una solución que dice que va de maravilla, pero a mi me arroja 55 errores, y trasteando un poco con el código lo dejo en 33. Acabo de empezar con vb.NET, utilizo Visual Studio 2010 Ultimate y me gustaría empezar con algún curso desde 0 pero no encuentro nada. Sé que se aprende leyendo códigos de otros y escribir hasta la saciedad, pero quisiera tener una base para entenderlos con más facilidad. Si alguien pudiese orientarme estaría más que agradecido ;). Este es el source que codeé anteriormente, el problema lo tengo cuando pulso el button2, creo que no utilizo la sintaxis correcta de la cadena de conexión: Imports MySql.Data.MySqlClient Public Class Form1 Dim servidor As String Dim usuario As String Dim pswd As String Dim conexion As MySqlConnection Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try servidor = ServerTxt.Text usuario = UsuarioTxt.Text pswd = pswdTxt.Text conexion = New MySqlConnection() conexion.ConnectionString = "server=localhost" & ";" & "user id=prueba" & ";" & "password=prueba" & ";" & "database=test" conexion.Open() MessageBox.Show("Conectado al servidor") Catch ex As MySqlException MessageBox.Show("No se ha podido conectar al servidor") End Try End Sub Public Sub ejecutar(ByVal sql1 As String, ByVal msbien As String, ByVal msmal As String) Dim comandos As New MySqlCommand Try comandos.Connection = conexion comandos.CommandText = sql1 comandos.ExecuteNonQuery() MessageBox.Show(msok) Catch ex As MySqlException MessageBox.Show(msbad) End Try End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ejecutar.objetos("INSERT INTO 'pet' (name,phone) VALUES ('" + Nombre.Text + "','" + Telefono.Text + "')", "Los datos se han ingresado con exito.", "Error, no se ha podido introducir los datos.") End Sub End Class
Y este el que me arroja tantos errores: Namespace WindowsApplication1 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using MySql.Data; using MySql.Data.MySqlClient; public partial class Form1 : Form End Class private string ConexionBaseDatos = "Database=basedatospruebas;Data Source=localhost;User Id=root;Password=1234"; Public Form1() InitializeComponent(); private void Form1_Load(object sender, EventArgs e) CargarDatos(); private void CargarDatos() string Consulta = "SELECT * FROM tablapruebas"; MySqlConnection cnn = new MySqlConnection(this.ConexionBaseDatos); MySqlDataAdapter mda = new MySqlDataAdapter(Consulta, cnn); DataSet ds = new DataSet(); mda.Fill(ds, "tablapruebas"); dataGridView1.DataSource = ds; dataGridView1.DataMember = "tablapruebas"; private void InsertarRegistros() string Consulta = "INSERT INTO tablapruebas(nombre,telefono) VALUES('" + tNombre.Text + "','" + tTelefono.Text + "')"; MySqlConnection cnn = new MySqlConnection(this.ConexionBaseDatos); MySqlCommand mc = new MySqlCommand(Consulta, cnn); cnn.Open(); mc.ExecuteNonQuery(); cnn.Close(); CargarDatos(); private void bInsertar_Click(object sender, EventArgs e) InsertarRegistros(); End Namespace
PD: Perdonad por el tochopost y por no poner spoilers, no encuentro el botón xD. PD2: Acabo de darme cuenta que debería haber posteado en "Programación General/.NET" :S
Título: Re: Ingresar datos en tabla MySQL con vb.NET
Publicado por: HdM en 25 Abril 2012, 13:42 pm
Buenas. Efectivamente debe ir en la sección de .NET Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ejecutar.objetos("INSERT INTO 'pet' (name,phone) VALUES ('" + Nombre.Text + "','" + Telefono.Text + "')", "Los datos se han ingresado con exito.", "Error, no se ha podido introducir los datos.") End Sub
*La cadena de conexión la tienes bien montada, ya que te conecta al servidor (estás controlando la captura de error de conexión y no te salta el mismo, ¿no?) *Cuando llamas al sub ejecutar, qué se supone que es objetos. *En la consulta del insert, estás poniendo el nombre de la tabla a actualizar, entre comillas simples De todos modos, el ide del VS 2010, te debe mostrar info. de los errores/advertencias detectados. Saludos.
Título: Re: Ingresar datos en tabla MySQL con vb.NET
Publicado por: Eavesdropping en 25 Abril 2012, 16:41 pm
Se me coló, objetos es algo que intenté hacer para arreglarlo, pero nada. La consulta es así: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ejecutar("INSERT INTO 'pet' (name,phone) VALUES ('" + Nombre.Text + "','" + Telefono.Text + "')", "Los datos se han ingresado con exito.", "Error, no se ha podido introducir los datos.") End Sub
Si la tabla pet la pongo entre comillas dobles me arroja 3 errores, con las simples no aparece ningún error, inicia el programa y me salta una ventana de error que sale si no se ha podido ingresar datos " Error, no se ha podido introducir los datos.". ¿Que puedo hacer? Sigo constante pero me está empezando a apoderse :(. Edit: Por favor, muevan el tema a .NET, allí supongo que podrán tratar mejor el problema, lo digo por no abrir 2 post. Gracias y perdonad.
Título: Re: Ingresar datos en tabla MySQL con vb.NET
Publicado por: HdM en 25 Abril 2012, 17:07 pm
Buenas.
En la consulta, el nombre de la tabla no debe llevar ni comillas simples, ni dobles.
Saludos.
Título: Re: Ingresar datos en tabla MySQL con vb.NET
Publicado por: Eavesdropping en 25 Abril 2012, 17:29 pm
¡Ohhh! Siempre pringo en cosas así... Muchísimas gracias por tu tiempo Bulld0z3r.
|