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);
}
}
}