C sharp - hilos y consultas a bd

   
Vista:

hilos y consultas a bd

Publicado por james (16 intervenciones) el 08/09/2011 23:51:30
hola espero me puedan orientar con los hilos pues no les logro entender.
tengo que lanzar varios querys que tardan de 2 a 3 minutos pero mi intencion es que se ejecuten al mismo tiempo y que el proceso solo dure entre 2 o 3 minutos.
mi codigo es el siguiente pero me manda un error al momento de regresar mi consulta.
(Colección modificada; la operación de enumeración no se puede ejecutar.) este error me lo presenta en el dataGridView y no siempre en el mism.

La pregunta es que estoy haciendo mal.
saludos y gracias

private void button1_Click(object sender, EventArgs e)
{
Thread hilo1 = new Thread(new ThreadStart(funcion1));
Thread hilo2 = new Thread(new ThreadStart(funcion2));
Thread hilo3 = new Thread(new ThreadStart(funcion3));
hilo1.Start();
hilo2.Start();
hilo3.Start();

dataGridView1.DataSource = oDt1;
dataGridView2.DataSource = oDt2;
dataGridView3.DataSource = oDt3;
}

private void Form4_Load(object sender, EventArgs e)
{
conecataBase();
oCnn = new OracleConnection(conneccion);
oCnn.Open();
}

private void funcion1()
{
System.Threading.Thread.Sleep(50);
sqlQuery1 = "select * from EMI_poliza";

oDa1 = new OracleDataAdapter(sqlQuery1, oCnn);
oDt1 = new DataTable();
oDa1.Fill(oDt1);

}
private void funcion2()
{
System.Threading.Thread.Sleep(30);
sqlQuery2 = "select * from v_hist_siniestros";
oDa2 = new OracleDataAdapter(sqlQuery2, oCnn);
oDt2 = new DataTable();
oDa2.Fill(oDt2);

}
private void funcion3()
{
System.Threading.Thread.Sleep(20);
sqlQuery3 = "select * from EMI_RECIBO";
oDa3 = new OracleDataAdapter(sqlQuery3, oCnn);
oDt3 = new DataTable();
oDa3.Fill(oDt3);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder