Otra vez molestando amigos, resulta que tengo un código que lo único que hace es generar la edad de un alumno y un update del campo EDAD, sin embargo al momento de ejecutarse se pasma y no modifica la tabla.
Se que tal vez esto ya lo hayan resuelto, pero estuve buscando y no se si por mi falta de conocimientos en el foro no encontré nada igual a este problema, agradezco su ayuda.
Este es el código:
(la variable txt_Query la separe muchas veces para verificar que no se me pasara ningún detallito)
Código Delphi
[-]Procedure TFesRGral.QuitaBlancosEdad;
var FecCap, txt_Fec_Nacim : String;
begin
txt_Query := '';
txt_Query := 'Select edad, rfe_llave, fec_nacim From Secce0 Where edad = ""';
FESMPMD1.Query3.SQL.Clear;
FESMPMD1.Query3.SQL.Add(txt_Query);
FESMPMD1.Query3.ExecSQL;
FESMPMD1.Query3.Active;
FESMPMD1.Query3.Open;
FESMPMD1.Query3.First;
While Not FESMPMD1.Query3.Eof Do
Begin
txt_Rfe_Llave := FESMPMD1.Query3.FieldByName('RFE_LLAVE').AsString;
txt_Fec_Nacim := DateToStr(EncodeDate(
StrToInt(copy(FESMPMD1.Query3.FieldByName('Fec_Nacim').AsString,1,4)),
StrToInt(copy(FESMPMD1.Query3.FieldByName('Fec_Nacim').AsString,5,2)),
StrToInt(copy(FESMPMD1.Query3.FieldByName('Fec_Nacim').AsString,7,2))));
FecCap := floattostr(trunc((Date - StrToDate(txt_Fec_Nacim))/365));
txt_Query:='';
txt_Query:='UPDATE Secce0 ';
txt_Query:=txt_Query+'SET Edad = ';
txt_Query:=txt_Query+FecCap;
txt_Query:=txt_Query+' WHERE Rfe_Llave = "';
txt_Query:=txt_Query+txt_Rfe_Llave;
txt_Query:=txt_Query+'"';
If FesRGral.sqlupdate(txt_Query) Then FESMPMD1.Query3.Next else FESMPMD1.Query3.Next;
End;
FESMPMD1.Query3.Close;
end;
Y esta es la función que realiza el update:
Código Delphi
[-]function TFesRGral.sqlupdate(sele:string):boolean;
begin
try
FESMPMD1.QueryAlumnos.sql.Clear;
FESMPMD1.QueryAlumnos.sql.Add(sele);
FESMPMD1.QueryAlumnos.ExecSQL;
sqlupdate:=true;
except
sqlupdate:=false
end;
end;
Se me olvidaba mencionar que uso paradox y delphi6...
Saludos!!!!
Pd. Quiero agradecer por el apoyo que me brindaron en mi anterior hilo, no se que pasa pero no puedo responder.