Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   eliminar y modificar con interbase (https://www.clubdelphi.com/foros/showthread.php?t=9794)

VRO 03-05-2004 08:24:51

eliminar y modificar con interbase
 
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

Cita:

Empezado por marrullas
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 ;)


La franja horaria es GMT +2. Ahora son las 15:14:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi