como agregar registro nuevo en firebird
hola foro, ya genere en ibexpert mi base de datos con 3 campos
codigo, nombre, telefono el primer campo es el indice dentro de ibexpert si logro agregar campos con insert into new_table etc, etc, el detalle es con delphi, genere un data module con un ibdatabase y ibtransaction, en una form tengo un dbgrid y un ibquery1 con el cual por medio de un datasource muestro mis datos contenidos en mi tabla new_table, hasta aqui todo bien si me muestra los datos contenidos en la tabla, pero al momento de activar un boton que puse para agregar un nuevo registro me marca error le mando los datos contenidos en unos edit , aqui esta el codigo me marca el error: sql error code = 104 token unknown line 2 col. 2 values'. process stopped use stop or run to continue :o |
Hola martita.
El error aparece por que te está faltando cerrar un paréntesis:
Saludos. |
ok ya graba y no marca error
gracias efisa por tu ayuda, ahora lo unico que noto es que no graba los
datos fisicamente hasta que cierrro mi aplicacion osea hasta que hago close a mi database, hay alguna manera que grabe en firme o al instante ? por que localmente no afecta pero si tengo una sistema ya multiusuario me afectaria muchisimo esto por ejemplo si alguien da de alta al sistema un nuevo cliente, los demas no lo podrian ver en el catalogo de clientes, hasta que el que dio de alta ese nuevo registro en el catalogo de clientes cierre y abra su sistema para que guarde el registro fisicamente, esto seria fatal, como podria asegurarse que haga las transacciones en firme o al instante ? saludos. |
Hola martita.
Para consolidar la escritura de los datos, luego de hacer ExcecSQL, tenés que usar: IBTransaction.Commit ó IBTransaction.CommitRetaining. La diferencia entre ambos métodos es que, luego de aplicar los cambios CommitRetaining mantiene activa la transacción. En cambio Commit cierra la transacción activa y luego hay que usar StartTransaction para iniciarla nuevamente. La elección de un método u otro dependerá de lo que necesites efectuar, pero creo que para este caso te conviene CommitRetaining. Saludos. |
Hola
mira yo uso las siguientes lineas al finalizar el guardado
el primer execsql seria el que tu ya tienes, a mi m funciona muy bien. |
La franja horaria es GMT +2. Ahora son las 15:22:30. |
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