Ver Mensaje Individual
  #1  
Antiguo 30-11-2006
Avatar de Vlady
Vlady Vlady is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Reputación: 21
Vlady Va por buen camino
Problema con la actualización IBDataset

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

Última edición por Vlady fecha: 30-11-2006 a las 01:51:07.
Responder Con Cita