Ver Mensaje Individual
  #1  
Antiguo 03-12-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 26
guillotmarc Va por buen camino
Bona tarda, Josep.

Cita:
Empezado por jafera Ver Mensaje
Buenas

Como he dicho antes, el SP ya me funciona, hace exactamente lo que quiero, quite el componente y lo puse de nuevo y ya no me da el error de parametros.

Lo que yo decía es que no se como ejecutar la consulta Update que me proponía Marc,

Código SQL [-] UPDATE CU0001 SET LLICENCIA = (SELECT C10 FROM CU0001E WHERE C11 = DNI), NOM = (SELECT C5 FROM CU0001E WHERE C11 = DNI), COGNOM1 = (SELECT C6 FROM CU0001E WHERE C11 = DNI), COGNOM2 = (SELECT C7 FROM CU0001E WHERE C11 = DNI), CODIUCI = (SELECT C13 FROM CU0001E WHERE C11 = DNI) WHERE EXISTS (SELECT * FROM CU0001E WHERE C11 = DNI)


no se que componente debo usar ni como hacer referencia a las dos tablas para hacer el update, con un select * busco todos los campos pero el update supongo lo debo hacer por parametros, sino no veo la manera. Estoy seguro de que es una solución simple pero no doy con ella, en cuanto le vea el cu.. seguro que digo que es gallina.

En cuanto al velero pues ya sabes, no te lo puedo cambiar por un SP porque yo no soy el dueño y no llego a tanto aunque aun te debería dinero ya que es mas caro un buen SP que funcione bien que un velero.

Saludos
Para ejecutar esa consulta lo puedes hacer con un objeto IBQuery normal y corriente, como cualquier otra consulta. No te preocupes porqué utilice dos tablas, a eso se le llama subconsultas, es decir consultas dentro de una consulta. Pero el conjunto forma una única consulta.

Lo único que hay que tener en cuenta, es que como toda consulta UPDATE (o INSERT, DELETE, ...) no devuelve ningún resultado, por lo tanto en lugar de ejecutarla con un .Open, la debes ejecutar con un .ExecSQL.

Salut.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita