C sharp - Parametro tipo RecordSet

 
Vista:

Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 06/11/2003 21:36:52
Necesito pasar un Recordset como parametro a una funcion en c#, pero cuando trato de utilizarlo no lo reconoce. Al pasarlo lo declare tipo object, pero no funciona.

public string NameFunction(object ObjRecordset)
{
while (ObjRecordset.EOF == false)
{

}

}
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

RE:Parametro tipo RecordSet

Publicado por Edgar (278 intervenciones) el 07/11/2003 20:28:08
Hola

La razón por la cual no te funciona es que lo estas declarando como object y unobjeto no tiene los metodos y propiedades de un recordset.

Necesitas agregar la referencia para ADO (no ADO.NET) para poder usar recordset y pasar el parámetro correspondiente o en su defecto, si deseas pasar el parametro como object, hacer el casting.

En todo caso, te recomendaria que te documentaras sobre ADO.NET para que conozcas las clases que te provee, las cuales están ubicadas en el namespace System.Data

Saludos
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

RE:Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 07/11/2003 23:01:43
Te agradezco tu respuesta, ya me había dado cuenta que era mejor trabajar con las potencialidades de ADO.NET. Por eso ahora estoy usandoel SqlDataReader, pero cuando quiero recuperar un valor de una columna ObjDataReader.GetValues(0).ToString() donde ObjDataReader es SqlDataReader ObjDataReader , me aparece el siguiente error "Invalid attempt to read when no data is present." en eso estoy ahora, si tienes alguna idea de que puede ser te lo agradecería.
Gracias
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

RE:Parametro tipo RecordSet

Publicado por Edgar (278 intervenciones) el 09/11/2003 04:51:24
Hola

Parece ser que la consulta que quieres ejecutar no está devolviendo ningún resultado... Deberias revisar la consulta a ver si efectivamente la misma no te debe devolver nada o si está mal escrita...

Saludos
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

RE:Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 10/11/2003 16:47:02
Hola, el problema que te planteaba es que el DataReader cuando se abre no se posiciona en la primera fila, asi que es necesario hacer un read para que avance a la primer registro.
Lo que no puedo encontrara es que propiedad del DataReader me da la cantidad total de registros, como el RecordCount de los recordset, si sabes de algo me avisas, de antemano muchas gracias
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
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:Parametro tipo RecordSet

Publicado por Yamil Bracho (1164 intervenciones) el 10/11/2003 19:23:47
No la tiene, lo que puedes usar es la propiedad HasRows. Asi.

if ( readerr.HasRows == true )
{
// Hay Datos
}
else
{
// No hay datos
}

Lo otro que puedes hacer y si te hace falta es ejecutar dos consultas, una que haga el Count y otra que te retorne los registros en si.
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

RE:Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 11/11/2003 16:44:45
Hola:

Sabes que lo estoy usando, pero pasa de largo, asi que tuve que hacer una funcion que me contaras los registros de DataReader y luego se lo pase como parámetro a la otra funcion que utiliza la cantidad de registros como condicion de fin del while junto con el HasRows.
Si sabes algo de porqué no se detiene me avisas, porque en realidad esto es tiempo que se pierde en la consulta.
De antemano grcaias.
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

RE:Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 11/11/2003 17:10:56
Ahi va..
Nfila-->es parámetro de entrada que lo cuento en otra funcion

ObjDataReader.Read();
while ((ObjDataReader.HasRows) && (countfilas<= Nfilas))
{
//Codigo

ObjDataReader.Read();
countfilas=countfilas+1;
}

Si no le pongo el control del countfilas pasa de largo

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
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:Parametro tipo RecordSet

Publicado por Yamil Bracho (1164 intervenciones) el 11/11/2003 22:48:00
Aja..! Ya vi cual es el problema...!
Debes usar el HasRows antes del Read. te quedaria el codigo como :

if (ObjDataReader.HasRows)
while (ObjDataReader.Read())
{
// No esta vacio el DataReader
}
}
else
{
// DataReader vacio
}
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

RE:Parametro tipo RecordSet

Publicado por Pancho (8 intervenciones) el 12/11/2003 16:59:33
Te pasaste gracias
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