PDA

Ver la Versión Completa : eliminar y modificar con interbase


VRO
03-05-2004, 08:24:51
hola a todos, el motivo de este mensaje, esque me ha surgido un nuevo problema en la realizacion de un programa que estoy haciendo conectando con interbase, puedo realizar las funciones de buscar, e insertar correctamente, y eliminar y modificar, tb las hace... el problema esque si sales del programa y vuelves a entrar lo deja como estaba originalmente, es decir los cambios no se efectuan en la base de datos de interbase, todo esto lo estamos haciendo con un dataset...¿alguien me podria indicar como hacer para q el programa ejecute esos cambios en la base de datos?muchas gracias.

pd:si acaso me explicado mal, por favor haganmelo saber.

__cadetill
03-05-2004, 09:59:44
Cómo tienes comfigurado el TIBTransaction? Haces un commit de la transacción? Cómo realizas las inserciones/modificaciones/borrados de las tablas?

VRO
03-05-2004, 10:28:57
hola, gracias por contestar, esto es el codigo q utilizo para modificar y eliminar...


procedure TForm1.modificarClick(Sender: TObject);
begin
if trim(nomb.text)='' then
showmessage('El nombre de la empresa es un campo OBLIGATORIO.')
else
begin
nomb.text:=Mayuscula(trim(nomb.Text));
IBDataset1.Post;
ibtransaction1.Commit;
//IBTransaction1.CommitRetaining;
end;

procedure TForm1.eliminarClick(Sender: TObject);
begin
ibdataset1.Delete;
//IBTransaction1.CommitRetaining;
IBtransaction1.Commit;
end;

y para insertar :

ibdataset1.Insert;

sin mas,

tanto con el commit retaining como con el commit a secas no conseguimos guardar los cambios...y el dataset creo q esta bien configurado...al menos insertar y buscar lo hace bien...no se q ocurre. gracias

Rabata
03-05-2004, 13:49:55
puede ser k no hallas metido el codigo Sql dentro de las pestañas *Sql (DeleteSql, InsertSql,ModifySql)

Espero k te sirva....

cahp
03-05-2004, 16:31:53
has comprobado las sentencias del ModifySQL y DeleteSQL?
tienes un identificador unico en la tabla, para que cuando modifiques o elimines, localice unicamente el registro en cuestion?


Saludos.

marrullas
03-05-2004, 16:47:02
Hola a todos, bueno tengo el mismo problema y si estoy seguro que tengo los sql de eliminar y modificar en las propiedades del dataset. lo hice metiendo el select y luego le digo que genere el sql para las otras acciones. gracias de antemano

__cadetill
03-05-2004, 16:53:35
luego le digo que genere el sql para las otras acciones.
Revísalas, las automatizaciones nunca me han gustado ;)
Además, suele poner un where con todos los campos y sólo necesitas aquellos que formen el índice

VRO
03-05-2004, 17:03:05
gracias a todos, al final el problema esque en el where de la sentencia sql para borrar y actualizar incluimos demasiados campos en vez de hacerlo solo por el indice entonces seguro q habia alguno q pillaba con algun espacio de mas o algo y no todos coincidian

VRO
03-05-2004, 17:04:14
huy, no lei el mensaje anterior...me hubiera ahorrado tiempo

marrullas
03-05-2004, 17:35:38
como siempre son todos muy amables, queria decirles que en este momento habia encontrado la solucion y veo que los 2 ya lo dijeron. bueno que hice me fui al dataset editor y donde dice key fields seleccione el campo llave y la fecha que son los mas importentes despues volvia a generer el sql y lo probe y todo funciono :D lo unico que no me queda muy claro es el motivo de esto. supongo que si algun campo esta vacio o algo asi nunca coincide porque el where generado utiliza AND bueno es una teoria, si alguien puede ser mas especifico seria muy bueno. gracias y nos seguiremos leyendo ;)