Saludos Lista,
La aplicación que estoy desarrollando en C#+PostgreSQL 8.4.2+Npgsql 2.0
sobre Windows XP SP3, corre perfectamente.
Pero al utilizarla en Windows 7 versión profesional, lanza una excepción,
lo cual no sucede en Windows XP.
La excepción se da en el siguiente codigo: (utilizando un NpgsqlDataReader)
try {
List<NpgsqlParameter> lista=new List<NpgsqlParameter>();
lista.Add(new NpgsqlParameter("@A",txtUser.Text));
lista.Add(new NpgsqlParameter("@B",txtClave.Text));
NpgsqlDataReader
sqlLector=*Conexion.EjecutaLector(strVerClave,lista,
CommandType.StoredProcedure*);
if (sqlLector.Read()) {
if (sqlLector[0].ToString()=="False"){
veces = veces + 1;
if(veces < NumeroIntentos)
{
PoneMensaje("La clave introducida es
incorrecta",true);
sqlLector.Close();
return;
}
this.DialogResult=DialogResult.No;
}
else{
if (sqlLector[0]==DBNull.Value) {
PoneMensaje("El usuario ingresado no existe
",false);
}
else {
PoneMensaje("INGRESO CORRECTO AL SISTEMA",true);
this.DialogResult=DialogResult.OK;
}
}
}
else{
PoneMensaje("5001 Consulte a su DBA",true);
}
sqlLector.Close();
}
catch (NpgsqlException excepcion){
PoneMensaje("Error: "+excepcion.Message,false);
}
Pero al cambiar por este codigo: (utilizando un DataSet y un
NpgsqlDataAdapter)
try {
List<NpgsqlParameter> lista=new List<NpgsqlParameter>();
lista.Add(new NpgsqlParameter("@A",txtUser.Text));
lista.Add(new NpgsqlParameter("@B",txtClave.Text));
foreach(DataRow dr in
(*Conexion.EjecutarConsulta(strVerClave,lista,
CommandType.StoredProcedure).Rows*))
{
if(dr[0].ToString()=="False"){
veces = veces + 1;
if(veces < NumeroIntentos)
{
PoneMensaje("La clave introducida es
incorrecta",true);
return;
}
this.DialogResult=DialogResult.No;
}
else{
if (dr[0]==DBNull.Value) {
PoneMensaje("El usuario ingresado no existe
",false);
}
else {
PoneMensaje("INGRESO CORRECTO AL SISTEMA",true);
this.DialogResult=DialogResult.OK;
}
}
}
}
Funcion correctamente en Windows 7 Profesional,
¿alguien me podria orientar al respecto?
¿Quizas tengo que estudiar los conceptos de un DataSet y un
NpgsqlDataReader?
--
Saludos
_________________
José de Paz
Escuintla, Guatemala
Tel. (502)-56041676
http://desarrolloescuintla.wordpress.com