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