Ayuda en C# y MySql

Iniciado por DaNuK, 15 Abril 2010, 08:06 AM

0 Miembros y 1 Visitante están viendo este tema.

DaNuK

hola compañeros necesito de su ayuda en la uni me dejaron realizar un proyecto en C# 2008 express y que almacene los datos en MySql
ya tengo instalado el conector ya pude realizar la conexion pero ahora mi duda es como puedo realizar consultas y que los datos se muestren en un Data Grid View al momento de que yo le de un clic en un boton,como insertar datos en la base de datos.
aki les pongo el codigo que tengo hecho
hasta ahora no me marca errores

using System;
using System.Collections.Generic;
using MySql.Data.Types;
using MySql.Data.MySqlClient;
using System.Linq;
using System.Text;


namespace nab
{
    class mysql
    {
        private MySqlConnection cnn;
        private string connStr;

        public void conexion()
        {
            connStr = ("host=localhost;Uid=root;DataBase=usuario;port=3306");
            cnn = new MySqlConnection(connStr);

        }

        public MySqlConnection Cnx
        {
            get
            {
                cnn.Open();
                return cnn;
            }
        }
     
    }
}



Espero me pueda ayudar

<a href ="http://programacionrapido.blogspot.com">Programacion .Net</a>

Shell Root

#1
Desde hace raton que no toco VB.NET and C#, pero algo es algo:

Visual Studio .NET
Código (vbnet) [Seleccionar]
Dim cnn As New MySqlConection("String de conexion")
Dim adap As New MySqlDataAdapter()
Dim ds As New DataSet()

cnn.Open()
adap = New MySqlDataAdapter("Query_MySQL", cnn)
ds = new DataSet()
da.Fill(ds, "NewQuery")
dvgConsulta.DataSource = ds.DefaultViewManager
cnn.Close()


C#
Código (csharp) [Seleccionar]

MySqlConection cnn = new MySqlConection("String de Conexion");

cnn.Open();
MySqlDataAdapter da = new MySqlDataAdapter("Query_MySQL", cnn);
DataSet ds = new DataSet();
da.Fill(ds, "NewQuery");
dvgConsulta.DataSource = ds.DefaultViewManager;
cnn.Close();


Saludos!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

DaNuK

oye amigo disculpa pero me podrias explicar que debo de poner donde  "Query_SQL" "New query"
es que me marca un error en la linea da.Fill(ds,"new query") me dice base de datos desconocida
serias tan amable de ayudarme xfavor

<a href ="http://programacionrapido.blogspot.com">Programacion .Net</a>

Shell Root

#3
En Query_SQL, el la query del MySQL, es decir,
Código (sql) [Seleccionar]
Select * From Clientes
Y en NewQuery, es la tabla, es decir, en el ejemplo del query anterior, en DataSet, seria así:
VB.Net
Código (vbnet) [Seleccionar]
adap = New MySqlDataAdapter("Select * From Clientes", cnn)
da.Fill(ds, "Clientes")


C#:
Código (csharp) [Seleccionar]
MySqlDataAdapter da = new MySqlDataAdapter("Select * From Clientes", cnn);
da.Fill(ds, "Clientes");
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

[D4N93R]

Las cadenas de conexión puedes encontrarlas en http://www.connectionstrings.com/

:D

DaNuK

#5
muchas gracias compañeros por fin me salio aki les dejo el code por si alguien lo necesita

Formulario
Código (csharp) [Seleccionar]


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace nab
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnmostrar_Click(object sender, EventArgs e)
        {
            MySqlConnection cnn = new MySqlConnection();
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataAdapter da = new MySqlDataAdapter("Select * from cliente", cnn);
            DataSet ds = new DataSet();
            try
            {
                cnn.ConnectionString = "host=localhost;Uid=root;DataBase=clientes;port=3306";
                cmd.CommandText = "Select * from cliente";
                cmd.CommandType = CommandType.Text;
                cmd.Connection = cnn;
                cnn.Open();
                da.Fill(ds, "cliente");
                cmd.ExecuteReader();
                dvgdatos.DataSource = ds.Tables[0];
                cnn.Close();
               
            }
            catch (Exception n)
            {
                MessageBox.Show(n.HelpLink);
            }
        }

        private void button1_Click_1(object sender, EventArgs e)
        {

            MySqlConnection cnn = new MySqlConnection();
            MySqlCommand cmd = new MySqlCommand();
            cnn.ConnectionString = "host=localhost;Uid=root;DataBase=clientes;port=3306";
            try
            {
                cnn.Open();
                cmd.CommandText = "insert into cliente(idcliente,nombre,apellidos,direccion,telefono)Values('"+Convert.ToInt32(txtclave.Text)+"','" + txtnombre.Text + "','" + txtapellidos.Text + "','" + txtdireccion.Text + "','" + Convert.ToInt32(txttelefono.Text) + "')";
                cmd.Connection = cnn;
                int contenedor = cmd.ExecuteNonQuery();
                cnn.Close();
                MessageBox.Show("Se ha registrado correctamente", "Registro exitoso", MessageBoxButtons.OK);
            }           
            catch (Exception mesange)
            {
                MessageBox.Show(mesange.Message);

            }

        }
       
        private void button4_Click(object sender, EventArgs e)
        {
            txtclave.Text = "";
            txtapellidos.Text = "";
            txtdireccion.Text = "";
            txtnombre.Text = "";
            txttelefono.Text = "";
        }

        private void button2_Click(object sender, EventArgs e)
        {           
            MySqlConnection cnn = new MySqlConnection();
            cnn.ConnectionString = "host=localhost;Uid=root;DataBase=clientes;port=3306";
            cnn.Open();
            MySqlCommand cmd = new MySqlCommand("Delete from cliente where idcliente=?idcliente");
            try
            {
                cmd.Parameters.Add("?idcliente", MySqlDbType.Int32).Value = txtclave.Text;
                cmd.Connection = cnn;
                cmd.ExecuteNonQuery();
                cnn.Close();
            }
            catch (Exception m)
            {
                MessageBox.Show(m.Message,("Por favor introduzca la clave del cliente"));
            }
           
        }

        private void btnactualizar_Click(object sender, EventArgs e)
        {
            MySqlConnection cnn = new MySqlConnection();
            cnn.ConnectionString = "host=localhost;Uid=root;Database=clientes;Port=3306";
            cnn.Open();
            MySqlCommand cmd = new MySqlCommand("Update cliente set nombre=?nombre,apellidos=?apellidos,direccion=?direccion,telefono=?telefono where idcliente=?idcliente");
            try
            {
                cmd.Parameters.Add("?idcliente", MySqlDbType.Int32).Value = txtclave.Text;
                cmd.Parameters.Add("?nombre", MySqlDbType.String).Value=txtnombre.Text;
                cmd.Parameters.Add("?apellidos", MySqlDbType.String).Value = txtapellidos.Text;
                cmd.Parameters.Add("?direccion", MySqlDbType.String).Value = txtdireccion.Text;
                cmd.Parameters.Add("?telefono", MySqlDbType.Int32).Value = txttelefono.Text;
                cmd.Connection = cnn;
                cmd.ExecuteNonQuery();
            }
            catch (Exception m)
            {
                MessageBox.Show(m.Message);
            }
        }
       
       }
}



saludos

<a href ="http://programacionrapido.blogspot.com">Programacion .Net</a>

Meta

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

seba123neo

Hola, pregunto ¿para que es ese conector? yo he trabajado con My SQL y nunca tuve que instalar tal programa.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

raul338

El conector te instala una referencia ya adaptada para mysql y agrega a los asistentes la positibilidad de hacer datasets tipados directo para mysql, en fin, ahorran algo de tiempo no? (o al menos eso creo)

se puede conectar sin eso, pero por algun lado lei que era muy generico