• Sábado 27 de Abril de 2024, 23:46

Autor Tema:  Problema con un Dataset y Datatable  (Leído 1206 veces)

Kutulay

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problema con un Dataset y Datatable
« en: Jueves 21 de Mayo de 2009, 18:53 »
0
Estoy creando un programa para representar en una ventana de windows la cual tiene un boton que al pulsarlo saca datos de una base de datos creada en Mysql. El programa funciona bien pero si pulso el boton mas de una vez me da este error " DataTable ya pertenece a este DataSet " y no se como corregirlo necesito ayuda. El codigo es el siguiente:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private DataSet bdl;//DataSet de datos
        private DataTable tabla;//Tabla que almacena datos
        private MySqlDataAdapter adaptador;//Objeto que sirve para comunicar al dataset con el DBMS
        private MySqlConnection conn;//Objeto que realiza la conexion con el DBMS
        private MySqlCommand cmd;//Objeto para la ejecucion de sentencias SQ

            public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            conn.Open();//Abre la conexion
            cmd.CommandText = "SELECT tagId FROM eventrecord WHERE readerid='mecanizado'";//Al objeto cmd le asignamos una sentencia SQL
            adaptador.Fill(tabla);//El objeto adaptador llena nuestra tabla con la instruccion declarada arriba      
            bdl.Tables.Add(tabla);//Se agrega la tabla al DataSet
            dataGridView1.DataSource = bdl.Tables["eventrecord"];//Se le indica al DataGridView que use los datos almacenados en el DataSet
            conn.Close();//Cierra la conexion
  }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
                try
            {
                bdl = new DataSet("singularity");
                tabla = new DataTable("eventrecord");
                conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
                cmd = new MySqlCommand("Sentencia SQL", conn);
                adaptador = new MySqlDataAdapter(cmd);
            }
                 catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message, "Error al intentar conectarse", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
 }
             private void Form1_Load(object sender, EventArgs e)
        {
            bdl = new DataSet("singularity");
            tabla = new DataTable("eventrecord");
            conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
            cmd = new MySqlCommand("Sentencia SQL", conn);
            adaptador = new MySqlDataAdapter(cmd);
        }
        }
    }