FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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 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'; 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. |
#2
|
||||
|
||||
Ya está
Como me gusta comentar mis propias soluciones y siempre hago:
1) Creo las tablas temporales Código:
SL := TStringList.Create; DMTMP.ADOConTmp.GetTableNames(SL, False); Existe := False; for index := 0 to (SL.Count - 1) do if (SL[index] = 'TMPOBR') then Existe := True; if not(Existe) then CreoTablaTemp_TMPOBR(); // Conté les obres on hi han partes d'eixe mes, per eixa casa de lloguer i eixe centre Código:
/* Crea la taula temporal TMPOBR per a la acumulació dels imports totals de cadasquna de les obres */ CREATE PROCEDURE ADOSP_Crea_TMPOBR AS Create Table tempdb.dbo.TMPOBR ( NumObra varchar(5), ImpAcuTotObr real ) GO 2) Abro la tabla Código:
// Les obric DMTMP.ADOTb_TMPOBR.Open; La edición de la ConnectionStrings de cada una de las conexiones que intervengan, se dá por conocida.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Tablas Temporales | Milperrimo | Firebird e Interbase | 7 | 25-10-2007 05:01:25 |
trabajar con tablas temporales | reevil | MySQL | 1 | 15-05-2006 15:57:09 |
Tablas Temporales MySQL y Vb6 | Payola2011 | Varios | 2 | 08-02-2006 20:52:04 |
Acceder a las tablas temporales | oneromm | Conexión con bases de datos | 1 | 24-12-2003 10:52:18 |
Tablas Temporales en Interbase 7 | bismarito | Firebird e Interbase | 5 | 02-10-2003 11:12:11 |
|