Ver Mensaje Individual
  #8  
Antiguo 28-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Antes de nada tranquilo, no tienes que disculparte por nada, aquí estamos para servirnos unos a otros, molestia... pues bueno, tampoco he tenido que abrir una zanja con pico y pala.... así que no molesta mucho .

Código Delphi [-]
begin
  ADOSPEdadCuentas.Close;
  ADOSPEdadCuentas.Parameters.ParamByName('@Edad').Value := Strtoint(EditEdad2.Text);
  if StrToIntdef(EditEdad2.Text, 0) = 90 then
     ADOSPEdadCuentas.Parameters.ParamByName('@Edad1').Value := VarNull;
  else
  ADOSPEdadCuentas.Parameters.ParamByName('@Edad1').Value := Strtoint(EditEdad1.Text);

  ADOSPEdadCuentas.Open;
end;

Lo primero es darle a un Variant el tipo de dato que necesita, si ya sabes que el parámetro es un Integer, dale un integer, si es un string, dale un string; porque el variant no es inteligente y lo que hará será convertir el valor (Value) a un tipo de datos string porque edit1.text es un string.

Lo segundo es usar StrToIntDef, ya que si el usuario deja en blanco el Edit, después saltará una excepción de tipo '' no es un entero válido.

Espero que ahora funcione

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 28-10-2006 a las 04:20:50.
Responder Con Cita