Recorrer una tabla (recordset)

05/12/2006 - 15:33 por David C | Informe spam
Hola a todos,

Con VB6 es posible recorrer una tabla con el objeto recordset...

Es posible hacerlo con CSharp ?

Alguien podria colgar un trozo de código que lo haga?

Trabajamos con VS2005 y SQL2005

David C.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
05/12/2006 - 15:46 | Informe spam
"David C" wrote in message
news:%
Con VB6 es posible recorrer una tabla con el objeto recordset...
Es posible hacerlo con CSharp ?



Se puede, si pones una referencia en el proyecto al ADODB. Pero eso
implica utilizar COM Interop para llamar desde .Net al objeto COM que
implementa el recordset. Algunas veces se hace esto en VB cuando migras a
.Net código de VB6. Pero no se me ocurre ningún motivo para que nadie quiera
hacerlo en C#. Lo lógico en C# sería usar el nuevo ADO.NET en lugar del ADO
antiguo, y en ADO.NET ya no existe el RecordSet. En su lugar se usan el
DataSet y el DataReader, según el tipo de operaciones que quieras realizar.
La forma de recorrer una tabla de SqlServer con un DataReader sería esta:

SqlConnection cn=new SqlConnection("...cadena de conexion...");
SqlCommand cmd = new SqlCommand("Select * from laTabla", cn);
cn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//Procesar registro
//Por ejemplo: string campo2=(string)rdr[1];
}
rdr.Close();
cn.Close();
Respuesta Responder a este mensaje
#2 David C
05/12/2006 - 16:53 | Informe spam
Muchas gracias Alberto, ya lo he conseguido siguiendo tus indicaciones.

salu2

David C.

"Alberto Poblacion"
escribió en el mensaje news:%23$
"David C" wrote in message
news:%
Con VB6 es posible recorrer una tabla con el objeto recordset...
Es posible hacerlo con CSharp ?



Se puede, si pones una referencia en el proyecto al ADODB. Pero eso
implica utilizar COM Interop para llamar desde .Net al objeto COM que
implementa el recordset. Algunas veces se hace esto en VB cuando migras a
.Net código de VB6. Pero no se me ocurre ningún motivo para que nadie
quiera hacerlo en C#. Lo lógico en C# sería usar el nuevo ADO.NET en lugar
del ADO antiguo, y en ADO.NET ya no existe el RecordSet. En su lugar se
usan el DataSet y el DataReader, según el tipo de operaciones que quieras
realizar. La forma de recorrer una tabla de SqlServer con un DataReader
sería esta:

SqlConnection cn=new SqlConnection("...cadena de conexion...");
SqlCommand cmd = new SqlCommand("Select * from laTabla", cn);
cn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//Procesar registro
//Por ejemplo: string campo2=(string)rdr[1];
}
rdr.Close();
cn.Close();



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida