Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-06-2008
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 22
IVAND Va por buen camino
Al leer archivo o al grabar mas de 10 registros toda una columna se repite :-(

Hola a todos trabajo con los ibx y delphi 6 se me ha presntado una cosa media especial resulta que tengo que cargar los datos de un query en otro pero cuando lo hago un valor del query al que estoy ingresando los datos no cambia es decir esa columna repite a todos los registros el mismo dato

Ejemplo imaginemos que cargo de un archivo csv los datos a un ibdataset , que tiene estos select


// select de consulta
Código SQL [-]
SELECT DM.CANTIDAD CANTIDAD, DESCUENTO, KEY_CAB_MOV, KEY_DET_MOV, PRECIO, TOT_IVA, TOTAL_LINEA, VALOR_PROMEDIO,
 KEY_EMPRESA, 
  KEY_BODEGA, 
  KEY_PRODUCTO, 
p.COD_PRODUCTO, 
  KEY_PRODUCTO_B, 
p.NOMBRE, 
  PRE_COS, 
  PRECIOA, 
  PRECIOB, 
  PRECIOC, 
  PORDES, 
  APLICA_IVA, 
  FRACCION, 
  DIAS_PLAZO, 
  SALDO_FAC, 
  CANTIDAD CANTIDAD1,LOTE, key_lote, p.precio_uing,0 key_p 
FROM det_mov dm, vi_producto_bodega vpb, producto p
WHERE key_cab_mov =:key_cab_mov
and p.key_producto=vpb.key_producto
AND dm.key_producto_b=vpb.key_producto_b

// y Este select en refresh

Código SQL [-]
SELECT DM.CANTIDAD CANTIDAD, DESCUENTO, KEY_CAB_MOV, 
KEY_DET_MOV, KEY_PRODUCTO_B, PRECIO,TOT_IVA, TOTAL_LINEA,
VALOR_PROMEDIO,
 KEY_EMPRESA, 
  KEY_BODEGA, 
  KEY_PRODUCTO, 
 p.COD_PRODUCTO, 
  KEY_PRODUCTO_B, 
  p.NOMBRE, 
  PRE_COS, 
  PRECIOA, 
  PRECIOB, 
  PRECIOC, 
  PORDES, 
  APLICA_IVA, 
  FRACCION, 
  DIAS_PLAZO, 
  SALDO_FAC, 
  CANTIDAD CANTIDAD1,LOTE, key_lote 
FROM det_mov dm, vi_producto_bodega vpb, producto p
WHERE  p.key_producto=vpb.key_producto
AND dm.key_producto_b=vpb.key_producto_b
AND   KEY_DET_MOV = :KEY_DET_MOV

como ven el campo codigo se repite el mismo en la medida que se ingresan los campos pero solo es ese dato pero si yo me pongo en la linea y presiono f5 me muestra el dato real , que proda estar passando he puesto query.refresh ,queryrefreshsql y nada

Espero su invalorable ayuda gracias de antemano
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 26-06-2008
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.

No se con que motor sql trabajas (interbase, firebird, mysql, oracle...)
pero te recomiendo que si usas abreviaturas para las tablas en la select,
le pongas a cada campo de que tabla es.

Otra cosa que supongo será un error tipográfico, en la línea
Código SQL [-]
CANTIDAD CANTIDAD1,LOTE, key_lote, p.precio_uing,0 key_p
se te ha colado un cero, ¿no?

Salu2
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #3  
Antiguo 26-06-2008
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 22
IVAND Va por buen camino
Gracias por tu respuesta amigo , pero ya he intentado todo el 0 no es un error tipografico solo es un campo que se agrega para realizar un calculo que no se graba en la base , el motor es firebird 1.5 , ademas lo raro es que solo es en el campo cod_producto , porque los otros campos quedan muy bien , la validacion del cod_producto se lo realiza en el evento onvalidate del ibdataset , ademas si me coloco en las lineas y presione f5 entonces refresca y muestra el dato correcto
__________________
IVAND
Responder Con Cita
  #4  
Antiguo 22-12-2008
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Prueba a poner en todos los campos de las select, la tabla de donde vienen.
Código SQL [-]
SELECT DM.CANTIDAD, DM.DESCUENTO, DM.KEY_CAB_MOV, 
dm.KEY_DET_MOV, dm.KEY_PRODUCTO_B, dm.PRECIO,dm.TOT_IVA, dm.TOTAL_LINEA,
dm.VALOR_PROMEDIO,
  p.KEY_EMPRESA, 
  p.KEY_BODEGA, 
  p.KEY_PRODUCTO, 
  p.COD_PRODUCTO, 
  p.KEY_PRODUCTO_B, 
  p.NOMBRE, 
  p.PRE_COS, 
  p.PRECIOA, 
  p.PRECIOB, 
  p.PRECIOC, 
  p.PORDES, 
  p.APLICA_IVA, 
  p.FRACCION, 
  p.DIAS_PLAZO, 
  p.SALDO_FAC, 
  dm.CANTIDAD as CANTIDAD1,dm.LOTE, dm.key_lote 
FROM det_mov dm, vi_producto_bodega vpb, producto p
WHERE  p.key_producto=vpb.key_producto
AND dm.key_producto_b=vpb.key_producto_b
AND   dm.KEY_DET_MOV = :KEY_DET_MOV
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #5  
Antiguo 22-12-2008
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Cita:
Empezado por defcon1_es Ver Mensaje
Hola.

No se con que motor sql trabajas (interbase, firebird, mysql, oracle...)
pero te recomiendo que si usas abreviaturas para las tablas en la select,
le pongas
a cada campo de que tabla es.

Salu2
toma muy en cuenta esta recomendacion que en versiones posteriores de Firebird te lanzara un mensaje de error.

Con respecto a tu problema, porque no dejas que el mismo componente te cree las sentencias y/o podrias colocar el evento onvalidate del campo con el que tienes problemas?.
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
Borrar datos de toda una columna osjrod Varios 2 13-05-2007 13:05:49
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? AGAG4 Varios 11 15-11-2004 20:53:28
Grabar Multiples registros en caliente (Firebird) pcicom Firebird e Interbase 6 27-09-2004 14:35:01
Como actualizar toda una tabla con bastantes registros? IcebergDelphi Firebird e Interbase 4 16-12-2003 14:08:00
Problema al grabar muxos registros en 1 detalle User_Baja_2 Conexión con bases de datos 2 05-06-2003 19:52:51


La franja horaria es GMT +2. Ahora son las 14:01:12.


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