Ver Mensaje Individual
  #3  
Antiguo 05-06-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Cool

Hola (MAJ)

Bueno, aparte de lo que te dijo defcon1_es, de que tienes que terminar la sentencia con un ExecSQL y no con un OPEN, tambien agregaria una sentencia más como
Código SQL [-]
Where Codigo_Alumno := Codigo.
Esto es por que con el codigo que tienes estarás actualizando todos los registros de tu tabla Alumnos con los datos que estas ingresando, por lo cual te falta identificar que registro quieres actualizar....de modo que te debe quedar algo así

Código Delphi [-]
with dm.consulta do
 begin
  Close;
  SQL.Clear;
  SQL.Add('update Alumnos');
  SQL.Add('set legajo_alu= (:legajo), nombre_alu = :nombre, dni_alu= :dni, apellido_alu= :apellido, direccion_alu= :direccion, telefono_alu= :telefono, movil_alu= :movil, libreta_alu= :libreta, pase_alu= (ase_d_colegio), estado_alu= (:estado)');
  SQL.Add('where codigo_alu =:codigo');
  ParamByName('legajo').AsInteger:=strtoint(edlegajo_alu.Text);
  ParamByName('nombre').AsString:=ednom_alu.Text;
  ParamByName('apellido').AsString:=edap_alu.Text;
  ParamByName('dni').AsInteger:=strtoint (eddni_alu.Text);
  ParamByName('direccion').AsString:=eddir_alu.Text;
  ParamByName('telefono').AsInteger:=strtoint(edtel_alu.Text);
  ParamByName('movil').AsInteger:=strtoint(edmovil_alu.Text);
  ParamByName('libreta').AsBoolean:=True;
  ParamByName('pase_d_colegio').AsBOOLEAN:=TRUE;
  ParamByName('estado').AsBoolean:=True;
  ParamByName('codigo').AsString:= Codigo.Text;
  ExecSQL;
 end;



Acuerdate que para realizar un select, se utiliza OPEN, para realizar un Insert, Delete o Update se utiliza un ExecSQL;


Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 05-06-2008 a las 15:35:48.
Responder Con Cita