Hola, estoy haciendo mis primeros pinitos en firebird y se me presenta el siguiente problema en una tabla que manejo mediante un IBDataset llamada servicios deseo insertar los servicios o articulos dependiendo de la ventana que elije el cliente esto lo controlo meidante un campo llamado tipo, si el cliente quiere insertar un servicio en este campo guarda un true y si guarda un articulo guarda un false en este campo. Mi problema radica en que nose como realizar esto de una forma automatizada no lo a querido hacer y ya llevo rato dandole estas son mis consultas
Esta es la consulta de borrado no se borra sino que se desactiva otro campo llamado activo
Código SQL
[-]
UPDATE SERVICIO
SET
ACTIVO=:"False"
WHERE CODIGO=:OLD_CODIGO
Esta es la consulta de inserción
Código SQL
[-]INSERT INTO SERVICIO
(CODIGO, NOMBRE, VALOR, IVA, OBSERVACIONES, TIPO,
GRUPO, ACTIVO)
VALUES (:CODIGO, :NOMBRE, :VALOR, :IVA,
:OBSERVACIONES, :"False", :GRUPO, :ACTIVO)
Consulta de modificación
Código SQL
[-]UPDATE SERVICIO
SET
CODIGO=:CODIGO,
NOMBRE=:NOMBRE,
VALOR=:VALOR,
IVA=:IVA,
OBSERVACIONES=:OBSERVACIONES,
TIPO=:"False",
GRUPO=:GRUPO,
ACTIVO=:ACTIVO
WHERE CODIGO=:OLD_CODIGO
Consulta de refresh
Código SQL
[-]
select * from Servicio
WHERE Codigo = Codigo AND Activo = "True" AND Tipo = "False"
Order By Nombre Asc
Consulta de seleccion
Código SQL
[-]SELECT * FROM Servicio
WHERE Tipo = "False" AND Activo = "True"
Order by Nombre Asc
En este caso estaria insertando y modificando articulos ya que el tipo esta en False para borrar articulos actualizo el campot activo a false, esta tabla la trabajo con un DBNavigator, al dar clip en el boton para el post me duplica el el primer registro despues del refresh y el campo tipo lo guarda sin valor, cabe anotar que estoy haciendo un CommitRetaining en el evento afterpost de la tabla.
Otra duda tengo un formulario donde tengo un DBLookupComboBox que lista las ciudadades si la ciudad no existe entonces hay un boton agregar ciudad la cual abre otro form donde se puede añadir la nueva ciudad mediante un dbnavigator, se realiza el post pero cuando regreso al DBlookupComboBox me aparace la nueva ciudad repetida tan veces como registro haya en la tabla y no me deja adicionarlo, estoy trabajando tambien con un IBDataset, creo que debe se la consulta de actualizacion la cual es esta.
Si alguien me puede colaborarar lo agradeceria infinitamente
Código SQL
[-]
select * from CIUDAD
WHERE ID = ID