C sharp - Obtener datos tablas access

 
Vista:

Obtener datos tablas access

Publicado por Roberto (2 intervenciones) el 31/01/2006 16:00:23
Buenas, tengo un problemilla. Veamos, tengo dos tablas (NUEVOS y PASES) en una base access (tirajes.mdb)de las q quiero sacar datos para rellenar una tercera (PENDIENTES), pero cuando realizo el "insert " (al ejecutar cmd.ExecuteNonQuery() )
me da el siguiente error:
"System.InvalidOperationException: Ya hay un DataReader abierto asociado a esta conexión, debe cerrarlo primero." El codigo es el siguiente:

private void ActualizarPases_Load(object sender, System.EventArgs e)
{
string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=Tirajes.mdb;";

OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();

string cmdSelect ="SELECT NUEVOS.NUMERO,NUEVOS.CODIGO, PASES.PASE FROM [NUEVOS],[PASES] WHERE NUEVOS.CODIGO=PASES.CODIGO";

OleDbDataAdapter canal=new OleDbDataAdapter(cmdSelect, oleConn);
OleDbDataReader result;

result= canal.SelectCommand.ExecuteReader();

while(result.Read())
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;

cmd.CommandText ="INSERT INTO [PENDIENTES] VALUES @DATO1,@DATO2,@DATO3)" ;


cmd.Parameters.Add(new OleDbParameter("@DATO1", OleDbType.VarWChar, 30));
cmd.Parameters["@DATO1"].Value = result["NUMERO"].ToString();


cmd.Parameters.Add(new OleDbParameter("@DATO2", OleDbType.VarWChar, 30));
cmd.Parameters["@DATO2"].Value = result["CODIGO"].ToString();


cmd.Parameters.Add(new OleDbParameter("@DATO3", OleDbType.VarWChar, 30));
cmd.Parameters["@DATO3"].Value =result["PASE"].ToString();


cmd.ExecuteNonQuery(); //EL ERROR LO DA AQUÍ
}

result.Close();
oleConn.Close();
}

A ver si alguien sabe como arreglarlo porque ya me estoy volviendo loco

Un saludo a todos
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
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Obtener datos tablas access

Publicado por Yamil Bracho (1164 intervenciones) el 31/01/2006 23:29:24
El problema es que no puedes usar el mismo objeto Connection para el Reader y para el Command. Si estas usando un Reader quiere decir que tienes muchos datos, no?, asi que lo mejor seria que crearas otro objeto Connection
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas gracias

Publicado por Roberto (2 intervenciones) el 01/02/2006 15:03:56
Muchas gracias por la respuesta, ya está, con otra conexión queda a rreglado. Muchas gracias
Un saludo
Roberto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar