Visual CSharp .NET - PREGUNTAS SOBRE DATAREADER

 
Vista:

PREGUNTAS SOBRE DATAREADER

Publicado por ifer (43 intervenciones) el 23/03/2005 17:07:58
1) Antes, para saber si un valor esta registrado hacia:
MyRecorset.Open "SELECT TOP 1 TARJETA FROM MYTABLA WHERE TARJETA=100", etc.
If MyRecorset.EOF Then debug.print "no existe"
ahora , usando un dataReader, puedo hacerlo con
If ( ! MyDataReader.HasRows) debug.print "no existe"
sin embargo, viendo el MSDN al respecto indica que HasRows solo es compatible con la version 1.1 de Net Framework (el que yo manejo),
entonces me encuentro en un problema, pues si actualizo a otra version del me dara error. esto es correcto?

2) tengo una duda respecto a la posicion inicial del puntero, pues cuando habrias un recorset, el puntero se colocaba en el primer registro, ahora me parece que el puntero del datareader se encuentra en un null o EOF, antes del primer registro, verdad? si es asi es valido hacer:
If ( ! MyDataReader.Read() ) debug.print "no existe" ?

3) si necesito un DataReader hago:
OleDbDataReader MyReader = new OleDbDataReader ();
sin embargo no acepta esta inicializacion a pesar de que el OleDbDataReader es una clase, solo me acepta:
OleDbDataReader MyReader;
al final me aseguro de cerrar el DataReader si ocurre algun error:
finally{
if ( ! MyReader.IsClosed ) dbDataReader.Close();
}
pero me da error debido a que uso una variable no asignada, esto lo he solucionado con:
OleDbDataReader MyReader = null;
y al final:
finally{
if ( MyReader != null )
if ( ! MyReader.IsClosed ) dbDataReader.Close();
}
pero me parece un poco raro, es correcto esto ?

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:PREGUNTAS SOBRE DATAREADER

Publicado por Edgar (82 intervenciones) el 23/03/2005 18:38:58
Hola

En cuanto a tu primera pregunta.. lo que se refiere la pagina del MSDN es que es compatible con la version 1.1, pero será compatible con las versiones posteriores... en la version 1.0 esta propiedad no existe

En lo referente a tu segunda pregunta.. si mal no recuerdo, es cierto tu planteamiento

En cuanto a tu tercera pregunta.. puedes declarar la variable, pero no puedes crearla directamente (algo con lo que no estoy de acuerdo para nada).

Para crearlo debes invocar el metodo ExecuteReader de una conexion, en tu caso un OleDbConnection

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