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 28-11-2006
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Crear una Tabla SQL desde la Interfaz

Hola Amigos del Club.

Estoy construyendo un aplicacion en Delphi Studio 2006 con SQL SERVER 2000 como motor y quisiera saber como hago desde la interfaz para crear una tabla temporal con un nombre aleatorio, esto ya que mas de un usuario puede necesitar utilizar esta tabla al mismo tiempo.

Los comandos para generar la tabla los entrega el Motor

Create Table ....
.....
.....
etc

Pero como lo hago para utilizar estos desde la interfaz o tendre que crear un Procedimiento Almacenado entregandole como parametro el nombre aleatorio de la tabla.

Y luego como elimino la tabla temporal?.

Gracias

Alejandro
Valparaiso - CHILE
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #2  
Antiguo 28-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola, no se si he entendido muy bien tu problema, pero por lo que yo he entendido:

- Necesitas que desde tu programa, en ejecución, por alguna razón necesitas almacenar unos datos de forma temporar y quieres usar una tabla.

¿es así? Es que no me ha quedado claro. Puedes explicarte mejor?

Saludos
Responder Con Cita
  #3  
Antiguo 28-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes utilizar un TADOQuery o un TADoStoredProc para ejecutar la consulta que te crea la tabla.
Lo más sencillo para la tabla temporal es que uses como nombre: ##NumeroAleatorio

El número aleatorio es para no usar siempre el mismo, por si creas más de una tabla durante la ejecución del programa.
Lo del ## es porque crearás una tabla temporal que se elimina automáticamente cuando finaliza esa sesión y sólo es visible en esa sesión. Si el programa fallara en el borrado o acabara inesperadamente SQL Server se encargaría de borrarla por ti.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 28-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Cita:
Empezado por Neftali
Puedes utilizar un TADOQuery o un TADoStoredProc para ejecutar la consulta que te crea la tabla.
Lo más sencillo para la tabla temporal es que uses como nombre: ##NumeroAleatorio
Pues por lo que parace lo he entendido igual que tú.

Cita:
Empezado por Neftali
Lo del ## es porque crearás una tabla temporal que se elimina automáticamente cuando finaliza esa sesión y sólo es visible en esa sesión. Si el programa fallara en el borrado o acabara inesperadamente SQL Server se encargaría de borrarla por ti.
Muy interesante, lo de la almohadilla (#) ¿es exclusivo de SQLServer o sirve para otros motores?

Saludos
Responder Con Cita
  #5  
Antiguo 28-11-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Bicho
Muy interesante, lo de la almohadilla (#) ¿es exclusivo de SQLServer o sirve para otros motores?
Que yo sepa es único de SQL Server, lo que ya no se si otros tienen algo similar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 28-11-2006
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Como Seria la Instruccion

Cita:
Empezado por Neftali
Puedes utilizar un TADOQuery o un TADoStoredProc para ejecutar la consulta que te crea la tabla.
Lo más sencillo para la tabla temporal es que uses como nombre: ##NumeroAleatorio

El número aleatorio es para no usar siempre el mismo, por si creas más de una tabla durante la ejecución del programa.
Lo del ## es porque crearás una tabla temporal que se elimina automáticamente cuando finaliza esa sesión y sólo es visible en esa sesión. Si el programa fallara en el borrado o acabara inesperadamente SQL Server se encargaría de borrarla por ti.
Muchas Gracias, pero como seria la instruccion dentro del Procedimiento Almacenado?, el motor se encargara entonces de crear una nueva tabla temporal si el numero que le asigna esta siendo utilizado por otro usuario?

Aqui va el codigo de lo que he realizado

CREATE PROCEDURE pa_NuevaTablaTemporal @nombre varchar(50)
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[@nombre]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[@nombre]
CREATE TABLE [dbo].[@nombre] (
[campo1] [int] NOT NULL ,
[campo2] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[campo3] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
GO


En nombre de la Tabla lo envio aleatoriamente desde la interfaz como parametro, pero el problema radica en que no toma en cuenta el nombre enviado como parametro.

Si me puedes ayudar con este codigo o si lo prefieres me puedes ayudar con el codigo que describes arriba en base al ##numeroaleatorio

Lo que te sea + facil

Muchas Gracias

Alejandro


__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
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
Ejec.opciones de programa desde mi interfaz zugazua2001 Varios 2 11-08-2006 11:38:37
Crear tabla .BDF desde delphi VRO Conexión con bases de datos 1 02-02-2005 18:08:54
crear tabla desde una consulta sql... ronimaxh SQL 6 27-07-2004 15:57:57
Crear tabla desde codigo delphi.... ronimaxh Firebird e Interbase 4 22-07-2004 17:10:35
Referencia al objeto desde la interfaz marto OOP 2 19-01-2004 22:29:26


La franja horaria es GMT +2. Ahora son las 00:35:31.


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