Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
pregunta sobre SQL y tablas

hola, quisiera saber una duda: cómo acceder a una tabla determinada dependiendo del registro de otra tabla elegido por el usuario, es decir,

tengo una tabla con un campo donde hay varios registros (1, 2, 3, ...) y dependiendo de que yo eliga uno u otro registro he de acceder a la tabla 1, tabla 2, tabla 3, ...


Gracias de antemano. Un saludo a todos.
Responder Con Cita
  #2  
Antiguo 02-07-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Supongo que lo que quieres decir es un registro en el que hay varios campos.

Entonces también supongo que en dichos campos se hallan los nombres de otras tablas.

Explícalo un poco mejor, según colijo puede ser que con un combo mostrando el campo en donde se hallan los nombres de las tablas pudiera ser suficiente y armar al vuelo una sentencia SQL en la que añadamos el nombre de la tabla.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 02-07-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
tienes razon creo que no lo dije bien, me refiero a que tengo un campo llamado 'Nombre Tabla' que tiene una serie de valores o filas: 1, 2, 3 ... En vez de un combo lo que utilizo es un dbedit y un dbnavigator, entonces según el valor que elija pretendo acceder a otra tabla (tabla1, tabla2, tabla3 ...) Mi duda es como construir la consulta, puesto que la misma es variable dependiendo del valor tomado del campo.

Gracias
Responder Con Cita
  #4  
Antiguo 02-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Código:
Query.SQL.Add('select *');
Query.SQL.Add('from ' + DbEdit1.Text);
Query.SQL.Add('where condiciones');
Espero te sirva
Responder Con Cita
  #5  
Antiguo 02-07-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
muchas gracias por la idea.
verás, ahora estoy intentando crear una tabla, tengo en el formulario un dbedit y un button (además del query y el datasource) de forma que en el evento onclick del button he puesto:

procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Add('create table'+dbedit1.Text+
'(campo1 VARCHAR(20) NOT NULL,campo2 VARCHAR(10) NOT NULL)'
);
end;

con objeto de que el nombre de la tabla sea el contenido del dbedit1, pero al ejecutarlo se bloquea y la tabla no se crea y no se por qué es.

un saludo
Responder Con Cita
  #6  
Antiguo 02-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
supongo que estaras utilizando un ExecSQL en lugar de un Open, no?
Responder Con Cita
  #7  
Antiguo 02-07-2003
docarrillo docarrillo is offline
Miembro
 
Registrado: jul 2003
Posts: 13
Poder: 0
docarrillo Va por buen camino
pues la verdad es que no, como sería la consulta?

llevo con delphi unos meses y hasta ahora habia trabajado con tablas paradox, pero ahora tengo que hacerlo conectando a una base de datos mysql. me he instalado unos componentes para ello (mytable,myquery,myconnection, etc) y ando un poco perdido con las consultas. si alguien sabe de algun manual util y practico de sql en delphi estaría muy agradecido. tengo varios pero no me he aclarado gran cosa
Responder Con Cita
  #8  
Antiguo 03-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
bueno, en lugar de hacer

Query1.Open;

tienes que hacer un

Query1.ExecSQL;

El Open solo sirve para aquellos casos en que una sentencia SQL devuelve valores, es decir, con una sentencia Select. Para lo demas, tienes que utilizar el ExecSQL
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 16:18:14.


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