elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ingresar datos en tabla MySQL con vb.NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ingresar datos en tabla MySQL con vb.NET  (Leído 16,445 veces)
Eavesdropping

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Ingresar datos en tabla MySQL con vb.NET
« 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:

Código
  1. Imports MySql.Data.MySqlClient
  2.  
  3. Public Class Form1
  4.  
  5.    Dim servidor As String
  6.    Dim usuario As String
  7.    Dim pswd As String
  8.    Dim conexion As MySqlConnection
  9.  
  10.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  11.        Try
  12.            servidor = ServerTxt.Text
  13.            usuario = UsuarioTxt.Text
  14.            pswd = pswdTxt.Text
  15.  
  16.            conexion = New MySqlConnection()
  17.            conexion.ConnectionString = "server=localhost" & ";" & "user id=prueba" & ";" & "password=prueba" & ";" & "database=test"
  18.            conexion.Open()
  19.            MessageBox.Show("Conectado al servidor")
  20.        Catch ex As MySqlException
  21.            MessageBox.Show("No se ha podido conectar al servidor")
  22.        End Try
  23.  
  24.    End Sub
  25.  
  26.    Public Sub ejecutar(ByVal sql1 As String, ByVal msbien As String, ByVal msmal As String)
  27.        Dim comandos As New MySqlCommand
  28.        Try
  29.            comandos.Connection = conexion
  30.            comandos.CommandText = sql1
  31.            comandos.ExecuteNonQuery()
  32.            MessageBox.Show(msok)
  33.        Catch ex As MySqlException
  34.            MessageBox.Show(msbad)
  35.        End Try
  36.    End Sub
  37.  
  38.    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  39.  
  40.        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.")
  41.  
  42.    End Sub
  43. End Class
  44.  

Y este el que me arroja tantos errores:
Código
  1.  
  2. Namespace WindowsApplication1
  3.    using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Text;
  9. using System.Windows.Forms;
  10. using MySql.Data;
  11. using MySql.Data.MySqlClient;
  12.    public partial class Form1 : Form
  13.  
  14.    End Class
  15.  
  16.        private string ConexionBaseDatos = "Database=basedatospruebas;Data Source=localhost;User Id=root;Password=1234";
  17.  
  18.    Public Form1()
  19.  
  20.            InitializeComponent();
  21.  
  22.  
  23.        private void Form1_Load(object sender, EventArgs e)
  24.  
  25.            CargarDatos();
  26.  
  27.  
  28.        private void CargarDatos()
  29.  
  30.            string Consulta = "SELECT * FROM tablapruebas";
  31.            MySqlConnection cnn = new MySqlConnection(this.ConexionBaseDatos);
  32.            MySqlDataAdapter mda = new MySqlDataAdapter(Consulta, cnn);
  33.            DataSet ds = new DataSet();
  34.            mda.Fill(ds, "tablapruebas");
  35.            dataGridView1.DataSource = ds;
  36.            dataGridView1.DataMember = "tablapruebas";
  37.  
  38.  
  39.        private void InsertarRegistros()
  40.  
  41.            string Consulta = "INSERT INTO tablapruebas(nombre,telefono) VALUES('" + tNombre.Text  + "','" + tTelefono.Text + "')";
  42.            MySqlConnection cnn = new MySqlConnection(this.ConexionBaseDatos);
  43.            MySqlCommand mc = new MySqlCommand(Consulta, cnn);
  44.            cnn.Open();
  45.            mc.ExecuteNonQuery();
  46.            cnn.Close();
  47.            CargarDatos();
  48.  
  49.  
  50.        private void bInsertar_Click(object sender, EventArgs e)
  51.  
  52.            InsertarRegistros();
  53.  
  54. End Namespace
  55.  

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


« Última modificación: 25 Abril 2012, 13:05 pm por Eavesdropping » En línea

HdM


Desconectado Desconectado

Mensajes: 1.674



Ver Perfil
Re: Ingresar datos en tabla MySQL con vb.NET
« Respuesta #1 en: 25 Abril 2012, 13:42 pm »

Buenas.

Efectivamente debe ir en la sección de .NET

Código
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.  
  3.        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.")
  4.  
  5.    End Sub
  6.  

*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.


En línea

- Nice to see you again -
Eavesdropping

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ingresar datos en tabla MySQL con vb.NET
« Respuesta #2 en: 25 Abril 2012, 16:41 pm »

Se me coló, objetos es algo que intenté hacer para arreglarlo, pero nada. La consulta es así:
Código
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.  
  3.        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.")
  4.  
  5.    End Sub
  6.  

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.
« Última modificación: 25 Abril 2012, 16:45 pm por Eavesdropping » En línea

HdM


Desconectado Desconectado

Mensajes: 1.674



Ver Perfil
Re: Ingresar datos en tabla MySQL con vb.NET
« Respuesta #3 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.
En línea

- Nice to see you again -
Eavesdropping

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ingresar datos en tabla MySQL con vb.NET
« Respuesta #4 en: 25 Abril 2012, 17:29 pm »

¡Ohhh! Siempre pringo en cosas así... Muchísimas gracias por tu tiempo Bulld0z3r.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines