Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2006
Migmam2 Migmam2 is offline
Miembro
 
Registrado: jul 2006
Posts: 18
Poder: 0
Migmam2 Va por buen camino
DBExpress (Delphi2006) y oracle9i

Hola a todos,

Estoy utilizando actualmente Delphi2006 y oracle9i y quisiera comentar algunos problemas que he visto por si son alucinaciones mias o realmente es así.

Primero. Hay reportado un Bug en Borland (Report #29269) el cual he podido comprobar y es que los campos CLOB al hacer applyupdates pierden el último caracter. A día de hoy creo que esto sigue sin resolverse.

Segundo. Anteriomente he trabajado con MySQL y al eliminar un registro mediante clientdataset.delete el registro se eliminaba correctamente aun cuando ese clientdataset estuviera vinculado a un sqlquery que contuviera una sentencia SELECT con INNER.
En el caso de Oracle y al inspeccionar los mensajes con SQLMonitor veo que trata de eliminar el registro utilizando en la clausula WHERE los campos pertenecientes a la segunda tabla relacionada y por consiguiente falla.
Ejemplo.
Tabla clientes:
id_cliente
cliente
id_tipo_cuenta

Tabla tipos_cuenta
id_tipo_cuenta
tipo_cuenta

sqlquery1.sql.text:='SELECT * FROM clientes INNER JOIN tipos_cuenta USING (id_tipo_cuenta)';

Al eliminar veo en SQLMonitor
DELETE clientes WHERE id_cliente=x AND id_tipo_cuenta=y AND tipo_cuenta=z

Error: el campo tipo_cuenta no existe en clientes
¿Alguna idea?
Responder Con Cita
  #2  
Antiguo 20-09-2006
Migmam2 Migmam2 is offline
Miembro
 
Registrado: jul 2006
Posts: 18
Poder: 0
Migmam2 Va por buen camino
¿Alguien ha probado el uso de parámetros en SQLQuery en Oracle?
Responder Con Cita
  #3  
Antiguo 20-09-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
En los campos persistentes del query de origen, para el campo Tipo_Cuenta podes modificar la propiedad ProviderFlags, quitando los valores pfInUpdate y pfInWhere, de esta manera el provider no tendrá problemas para construir la sentencia de borrado (o de actualización).

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 21-09-2006
Migmam2 Migmam2 is offline
Miembro
 
Registrado: jul 2006
Posts: 18
Poder: 0
Migmam2 Va por buen camino
Muchas gracias. Probado y funciona!!

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
BDEClientDataSet en Delphi2006 pborges36 Conexión con bases de datos 5 11-07-2006 16:32:47
Transacciones en Oracle9i y Delphi 6 dblx Conexión con bases de datos 3 26-06-2006 10:39:10
material sobre Delphi2006 pborges36 Varios 1 01-06-2006 20:27:11
BDE y Oracle9i ramiretor Conexión con bases de datos 1 16-12-2003 19:08:39
DBExpress Esau Conexión con bases de datos 0 04-10-2003 00:10:58


La franja horaria es GMT +2. Ahora son las 08:38:43.


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
Copyright 1996-2007 Club Delphi