Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   pregunta sobre SQL y tablas (https://www.clubdelphi.com/foros/showthread.php?t=1888)

docarrillo 02-07-2003 04:03:44

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.

marcoszorrilla 02-07-2003 08:09:39

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.

docarrillo 02-07-2003 13:07:33

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

__cadetill 02-07-2003 13:37:34

Código:

Query.SQL.Add('select *');
Query.SQL.Add('from ' + DbEdit1.Text);
Query.SQL.Add('where condiciones');

Espero te sirva

docarrillo 02-07-2003 17:09:49

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

__cadetill 02-07-2003 17:49:53

supongo que estaras utilizando un ExecSQL en lugar de un Open, no?

docarrillo 02-07-2003 18:23:16

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

__cadetill 03-07-2003 13:17:53

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


La franja horaria es GMT +2. Ahora son las 08:40:19.

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