Ver Mensaje Individual
  #1  
Antiguo 18-12-2007
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Reputación: 22
Cabanyaler Va por buen camino
Red face Trabajar con tablas #Temporales

Hola amigos.
Demasiado tiempo sin pasarme por aquí,

Entorno:
Trabajo con Delphi 6, conexiones ADO y un servidor SQL Server.

Quiero:
Trabajar con tablas temporales alojadas en el servidor del tipo #NombreTabla,
volcarles datos, recorrerlas, insertarles, etc, etc. Luego algunas de estas tablas vincularlas con fuentes de datos para visualizarlas en DBGrids, y poca cosa más.

Lo que hago hasta ahora sin exito:
Hace unos años atrás lo hice y no recuerdo haber sufrido tanto, así que algo debo estar olvidando.

Hasta ahora me he creado:
El DataModule aparte para sólo estas tablas.
Los Store Procedures de creación de las tablas (por cuestión de espacio sólo anexaré uno):

Código:
CREATE PROCEDURE ADOSP_Crea_TMPOBR
AS
Create Table tempdb.dbo.TMPOBR
(
            NumObra         varchar(5),
            ImpAcuTotObr real       
)
GO
En el data module de las temporales, he añadido un componente TAdoConnetion conectada a la BBDD tmpdb, y las correspondientes TAdoTable conectadas a dicha Connection.
Después de crear las tablas temporales con Store Procedures como el el anterior, que como digo no veo en la BBDD tmpdb, intento asignar mediante instrucciones del tipo:
Código:
  DataModuleTMP.ADOTb_TMPOBR.TableName  := 'TMPOBR';
y me salta error resumido: El nombre de objeto TMPOBR no es valido.
He probado tb con
Código:
  DataModuleTMP.ADOTb_TMPOBR.TableName  := 'tmpdb.dbo.TMPOBR';

Problema por desconocimiento de como hacerlo:
Me interesa poder asignar en tiempo de diseño a la propiedad de los componentes TadoTable.TableName, las tablas temporales que creo en tiempo de ejecución y que no veo en el Sql Server Enterprise manager en la BBDD tmpdb durante la ejecución del programa.
El fin de poderlo asignar es poder tener los nombres de los campos de forma persistente en los componentes TAdoTable y de ese modo poderlos añadir a los DBGrid que me interesen, hacer las operaciones que desee con dichas tablas, y después destruirlas.

Pregunta para resolver:
¿Sabeis como puedo trabajar con estas tablas temporales de modo parecido si no igual a las tablas que creo en tiempo de diseño en cualquier BBDD y a las cuales puedo acceder mediante componentes TadoStoreProc o cualquier otro DataSet mediante la asignación del nombre de la tabla a la propiedad TableName del componente?
Algúna URL donde dirigirme y consultar ejemplos (no he encontrado en Google).

Gracias a todos.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.

Última edición por Cabanyaler fecha: 18-12-2007 a las 13:19:00.
Responder Con Cita