Buenos dias compañeros, tengo un problema al tratar de modificar los datos de mi bd con un ibquery, siempre habia trabajado con los componentes de la paleta bde y recien me cambie a los componentes de la paleta interbase porque me toco cambiar de manejador de base de datos a interbase, tengo ke actualizar unos datos de login y contraseña para los usuarios de mi bd y lo hago con la siguiente instruccion:
Código SQL
[-]UPDATE PROFESORES SET LOGIN = :login, CONTRASENA= :contrasena WHERE LOGIN = :loginviejo
login, contrasena y loginviejo son datos que los paso por parametros en tiempo de ejecucion el usuario los teclea, esos parametros los paso asi
Código Delphi
[-]form1.Query1.ParamByName('loginviejo').AsString:= Login; form1.Query1.ParamByName('login').AsString:= nuevologin; form4.Query1.ParamByName('contrasena').AsString:= contrasena; form4.Query1.ExecSQL; form4.tablausuarios.autorefresh:=true;
al hacer esto se realizaba la modificacion de mi registro en la bd y cuando volvia a tratar de hacer esta operacion los datos ya habian cambiado por los nuevos.
Ahora si mi problema al cambiar de componentes a ibquery's e ib tables en el ibquery pongo la misma sentencia y el delphi paso los parametros de igual forma y ejecuto el ib query pero no me aparce la sentencia autorefresh en la tabla me aparece refresh por lo que lo hago asi
Código Delphi
[-]form1.Query1.ParamByName('loginviejo').AsString:= Login; form1.Query1.ParamByName('login').AsString:= nuevologin; form4.Query1.ParamByName('contrasena').AsString:= contrasena; form4.Query1.ExecSQL; form1.IbTable1.Open; Form4.IbTable1.Refresh;
tambien lo he intentado con applyupdate pero nada que se me guardan las modificaciones en la bd, si cierro mi aplicacion y la abro nuevamente ya los cambios quedan guardados, pero yo necesito que se guarden inmediatamente el los modifica, agradesco me indicaran que estoy haciendo mal o como es la forma correcta de hacerlo muchas gracias