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 ?
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


0