Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #34  
Antiguo 18-05-2010
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 22
sur-se Va por buen camino
Gracias por tu contestación, pero no estoy del todo de acuerdo con lo que indicas.

Esta consulta funciona perfectamente en 1.5.6 y en 2.x no:
Código:
SELECT C.CCOD_SERIE, C.NCOD_MOVALM, C.DFECHAHORA, L.CTIPO, A.CARTICULOALMACEN,
       L.NCOD_ORDEN, L.CARTICULO, L.NALMACEN, L.NALMACENORIG, L.NCANTIDAD1, L.NCANTIDAD2  
FROM CABMOVALM C , LINMOVALM L, ARTICULOS A  
WHERE (C.CCOD_SERIE = L.CCOD_SERIE) 
AND (C.NCOD_MOVALM = L.NCOD_MOVALM)  
AND (L.CARTICULO = A.CCOD_ARTICULO) 
AND A.CTIPO <> 'S'  
AND ARTICULOS.CCOD_ARTICULO>='030403' and (ARTICULOS.CCOD_ARTICULO<='030403') 
and (DFECHA>='01/01/10') and (DFECHA<='01/31/10') 
AND (ARTICULOS.CESTADO='A') AND (ARTICULOS.CTIPO='N') AND A.CESTADO = 'A'
Para solucionarlo hay que cambiar los ARTICULOS. por A., o quitar el alias A y poner todo como ARTICULOS. No veo que esta consulta esté mal por ello, pero si sé que en el 2.x no funciona. Tuve que investigar el motivo y era simplemente ese. O se usa un alias en todo o no se usa en ninguno, pero no se puede a veces si y a veces no en la misma consulta. No entro a valorar si es correcto o incorrecta formalmente la SQL. Lo cierto es que en el 1.5 funciona bien y en el 2.x no.

Respecto a lo segundo, no veo porque el hecho de crear o borrar tablas en una base de datos tiene porque corromperla. Para eso está la base de datos y sus instrucciones de creación y borrado. No me parece un motivo para ello y no estoy de acuerdo con esa afirmación de que por ello voy a corromperla.
En la versión 1.5.6 no hay tablas temporales, así que si necesito una tabla en la base de datos para un proceso que se ejecuta en un procedimiento almacenado (por ejemplo), lo que hago es crear la tabla con un nombre TMP+código de un generador. La utilizo en el proceso que se quiera y luego cuando ya no se necesita, se hace el drop. No veo que problema o cosa mal esté haciendo por ello como para que se corrompa la base de datos. De hecho, llevo mucho tiempo usando ese sistema y nunca se me ha corrompido la base de datos.

De todas formas, agradezco tu interés y ayuda. Como verás el problema es que necesito usar la 1.5.6 y no veo porque no funciona en el WS2008. Es muy raro.
Un saludo.

Última edición por Casimiro Notevi fecha: 18-05-2010 a las 18:15:46. Razón: Ajustar código para que se vea completo
Responder Con Cita
 



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
Dlephi 6 - Windows 7 - SQL Server 2008 andresu723 MS SQL Server 0 14-04-2010 16:33:50
Instalacion de Servicio Windows Server 2008 genius Varios 2 27-12-2009 23:44:04
Problema DBExpress en Windows Server 2008 cmagno Conexión con bases de datos 0 12-02-2009 14:39:11
firebird y .net 2008 voldemmor .NET 0 27-11-2008 17:15:54
No más Windows XP a partir de 2008 kinobi Noticias 15 17-04-2007 19:57:13


La franja horaria es GMT +2. Ahora son las 00:58:34.


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