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 Buscar Temas de Hoy Marcar Foros Como Leídos

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: 28
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 11:58:40.


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