Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Doel_Anwar en 23 Junio 2011, 18:00 pm



Título: C# y MySql guardar
Publicado por: Doel_Anwar en 23 Junio 2011, 18:00 pm
hola compañeros del foro. Tengo un problema y espero me puedan ayudar porque estoy muy atorado con esto, el problema es el siguiente:
Hice una conexión de visualC# y MySql y al momento de guardar los datos no me guarda, puse un mssagebox que me dice cuando se guardó correctamente en el try y otro que me dice que hay un error al conectarme con la BD en el catch y este último es el que me arroja.
el codigo es así:
Código
  1.        private void gdr_Click(object sender, EventArgs e)
  2.        {
  3.            MySqlConnection conexion = new MySqlConnection();
  4.            MySqlCommand cmd = new MySqlCommand();
  5.            String cadena;
  6.            try
  7.            {
  8.                cadena = "Server=localhost; user id=root; Database=pbp";
  9.                conexion.ConnectionString = cadena;
  10.                conexion.Open();
  11.                cmd.CommandText = "insert into recep_docs (Edad,APaterno,AMaterno,Nombre,Peticionario,Calle,Colonia,Localidad,Municipio,Telefono,Fecha,Observaciones)Values('" + edad.Text + "','" + apaterno.Text + "','" + amaterno.Text + "','" + nombre.Text + "','" + petic.Text + "','" + calle.Text + "','" + col.Text + "','" + local.Text + "','" + muni.Text + "','" + tel.Text + "','" + fecha.Text + "','" + observa.Text + "')";
  12.                cmd.ExecuteNonQuery();
  13.                conexion.Close();
  14.                MessageBox.Show("El Registro se ha Hecho Correctamente", "Registros Exitoso");
  15.  
  16.            }
  17.            catch
  18.            {
  19.                MessageBox.Show("Error al conectar la base de Datos", "Conexion Fallida");
  20.  
  21.            }
  22.        }
se les agradece mucho cualquier aportación y de antemano...
muchas gracias ;)


Título: Re: C# y MySql guardar
Publicado por: chelita en 23 Junio 2011, 18:19 pm
hola yo tambien tengo algo parecido con c# y sql pero lo mio es con la conexion a sql.

¿a ti no te aparece un mensaje de que la conexion esta cerrrada al momento de ejecutar el programa?

por que si es eso tendrias que ver las propiedades o herramientas de mysql para las conexiones


Título: Re: C# y MySql guardar
Publicado por: Doel_Anwar en 23 Junio 2011, 18:31 pm
no de hecho el programa me corre bien, la cuestión es que al momento depulsar el botón guardar (gdr en el código) me aparece el message box del catch, lo que quiere decir que hay un error al hacer la conexión sin embargo no encuentro cual pueda ser :-[...
y muchas gracias por tu aportación


Título: Re: C# y MySql guardar
Publicado por: Shell Root en 23 Junio 2011, 19:38 pm
Recuerdo mis tiempos en C-Sharp,
Código
  1. string CadenaConexion = "server=.;uid=sa;password=tupassword;database=basededatos";
  2. SqlConnection MiConexion = new SqlConnection(CadenaConexion);


Título: Re: C# y MySql guardar
Publicado por: DaNuK en 25 Junio 2011, 22:45 pm
a ver si te sirve este
Código
  1. string cadena="Server=localhost;Uid=root;Database=bd;Port=3306";
  2. MySqlConnection cnn = new MySqlConnection(cadena);
  3.  

Saludos


Título: Re: C# y MySql guardar
Publicado por: Doel_Anwar en 27 Junio 2011, 15:01 pm
 ;-)gracias x sus aportaciones compañeros resolvieron mi problema  ;-)


Título: Re: C# y MySql guardar
Publicado por: [D4N93R] en 27 Junio 2011, 23:47 pm
Hola,

Recuerda, el Close en el finally, sácalo del Try..

Un saludo!


Título: Re: C# y MySql guardar
Publicado por: Doel_Anwar en 1 Julio 2011, 20:21 pm
oye pues resulta que la conexion ya me la hace muy bien pro no me guarda datos en la base no se cual sea el problema ya sake el close del try. Si me pudieras ayudar serias de muxa ayuda


Título: Re: C# y MySql guardar
Publicado por: Devilboy.Devil en 1 Julio 2011, 20:40 pm
Tengo un programa que hice hace tiempo, agrega el nombre y apellido a mysql.


Clase 1

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.Windows.Forms;

namespace Insert
{
    public class Prueba
    {
        public void Consulta(string conexion, string consulta, ToolStripProgressBar barra,ToolStripStatusLabel etiketa)
        {
            MySqlConnection conn;
            MySqlCommand com;

            try
            {
                conn = new MySqlConnection(conexion);
                conn.Open();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
                
            }


            try
            {
                com = new MySqlCommand(consulta, conn);
                
                
                if (Convert.ToBoolean(com.ExecuteNonQuery()))
                {

                    barra.Minimum = 0;
                    barra.Maximum = 100;
                    barra.Value = 100;
                    etiketa.Text = "Cargado";
                    MessageBox.Show("Se han Ingresado los datos");
                    


                }
                else
                {
                    etiketa.Text = "esperando";
                    MessageBox.Show("Error");

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

                return;
            }
            finally
            {                
                conn.Close();
            }
        }
    }
}


y para usarlo agregas dos textbox y un boton para aceptar

en el evento click del boton agregas lo sig:


Código:
        private void button1_Click(object sender, EventArgs e)
        {
            Prueba obj = new Prueba();
            string nombre, apellido;
            nombre = textBox1.Text;
            apellido = textBox2.Text;
            string conexion = "server=localhost;uid=root;pwd=12345;database=c#";
            string query = "insert into Alumnos (nombre,apellido) values('"+nombre+"','"+apellido+"');";



            obj.Consulta(conexion, query,toolStripProgressBar1,toolStripStatusLabel1);

        }


Título: Re: C# y MySql guardar
Publicado por: .::IT::. en 2 Julio 2011, 05:36 am
Pues a simple vista veo que estas usando MySqlCommand sin asignarle el MySqlConnection deberías inicializar MySqlCommand de la siguiente manera

MySqlCommand Cmd=new MySqlCommand("query",myMySqlConnection);

y luego ejecutar

Cmd.ExecuteNonQuery();

y claro previamente la conexión debe estar abierta.


Título: Re: C# y MySql guardar
Publicado por: berni69 en 2 Julio 2011, 15:11 pm

Casualmente hace unos dias me puse a indagar en el tema mysql y C#. Tuve algunos problemas con el envio de querys pero bueno...
mira si este codigo te puede servir, es el que yo uso para actualizarl os valores de una base de datos

Código
  1.                        string SQL = "UPDATE Temperatura SET Temperatura.Temp=@temp , Temperatura.STATUS='ON' WHERE Temperatura.index=0 ";
  2.  
  3.  
  4.                        connection.Open();
  5.                        data.UpdateCommand = new MySqlCommand(SQL, connection);
  6.                        data.UpdateCommand.Parameters.AddWithValue("@temp", i.ToString());
  7.                        //data.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
  8.  
  9.                        data.UpdateCommand.ExecuteNonQuery();
  10.                        //cmd.ExecuteNonQuery();
  11.                        connection.Close();


Título: Re: C# y MySql guardar
Publicado por: DaNuK en 3 Julio 2011, 00:35 am
Código
  1. private void gdr_Click(object sender, EventArgs e)
  2.       {
  3.           MySqlConnection conexion = new MySqlConnection();
  4.           MySqlCommand cmd = new MySqlCommand();
  5.           String cadena;
  6.           try
  7.           {
  8.               cadena = "Server=localhost; uid=root; Database=pbp";
  9.               conexion.ConnectionString = cadena;
  10.               conexion.Open();
  11.               cmd.CommandText = "insert into recep_docs (Edad,APaterno,AMaterno,Nombre,Peticionario,Calle,Colonia,Localidad,Municipio,Telefono,Fecha,Observaciones)Values('" + edad.Text + "','" + apaterno.Text + "','" + amaterno.Text + "','" + nombre.Text + "','" + petic.Text + "','" + calle.Text + "','" + col.Text + "','" + local.Text + "','" + muni.Text + "','" + tel.Text + "','" + fecha.Text + "','" + observa.Text + "')";
  12.               cmd.connection=conexion;
  13.               cmd.ExecuteNonQuery();
  14.  
  15.               MessageBox.Show("El Registro se ha Hecho Correctamente", "Registros Exitoso");
  16.  
  17.           }
  18.           catch
  19.           {
  20.               MessageBox.Show("Error al conectar la base de Datos", "Conexion Fallida");
  21.  
  22.           }
  23.          finally
  24.          {
  25.                conexion.Close();
  26.          }
  27.       }
  28.  

ak te dejo un link
http://vick90.blogspot.es/i2010-05/
 (http://vick90.blogspot.es/i2010-05/)
Saludos