| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 31 Ene, 2004 11:16 am Asunto: Campos en cosultas |
|
|
Bueno, hoy me toca, preguntar....
Como puedo pasar, una lista de Campos a una Consulta, Ejemplo:
Si relizo lo siguiente
| Código: |
SELECT *
FROM :Tabla_Utilizar
ORDER BY :CampoOreden
|
Estoy tratando de explicarme para ser contestado, como puedo hacer para:
1.- En lugar del Asterisco, pasar una lista de Campos, Espesificos, pero como parametros
2
no que salga con
| Código: |
SELECT :p1,:p2, {...etc}*
FROM :Tabla_Utilizar
ORDER BY :CampoOreden
|
donde p1 y p.. sean los campos a pasar, digo debe existir otra, es el SQL de Builder..
Gracias y Saludos _________________
 |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Sab 31 Ene, 2004 6:47 pm Asunto: |
|
|
Hola Cesar he estado desconectado un poco del foro por temas personales, espero poder ayudarte vamos a ver si te entiendo lo que quieres hacer.
Si imagino que por ejemplo usas un TQuery o TIBQuery o cualquier otro Query cuando metes tu sentencia SQL debes hacerlo en tiempo de ejecución para ponerle los campos que quieras, imaginate:
| Código: |
TQuery->SQL->Add("SELECT " + campo1 + ", " + campo2 + ", " + ....);
TQuery->SQL->Add("FROM ..... resto de consulta);
TQuery->Prepare();
... blah blah
|
_________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Dom 01 Feb, 2004 1:24 am Asunto: |
|
|
ok, eso es como lo estoy haciendo...
hora, eso quiero hacerlo tipo funcion. ya que es un visor de datos..para x tabla o consulta, donde puede ordenar, los campos por uno espesifico, y ademas establecer los titulos dentro de una rejilla....
gracias.. espero mas respuestas...
saludos... |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 01 Feb, 2004 1:27 am Asunto: |
|
|
bueno, el anterior soy, yo _________________
 |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 01 Feb, 2004 4:48 am Asunto: |
|
|
y para el que no me ha entendido.. esto es para un formulario que se crea en tiempo de ejecucion.. por si le va la idea...
ok _________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mar 03 Feb, 2004 3:26 am Asunto: |
|
|
parte como lo estas haciendo solo le incluirias
Select tucampo1 AS comosellamaengrid, tucompa2 AS comosellamaengrid2
El rollo de la definicion de campos variablesi con listbox, regillas y arreglos
 |
|
| Volver arriba |
|
 |
Marky Master

Registrado: 28 Dic 2002Mensajes: 251Ubicación: Las Rozas - Madrid (España)
|
Publicado: Jue 05 Feb, 2004 11:48 pm Asunto: |
|
|
Yo a veces he tenido que hacer lo siguietne: en un TCheckListBox muestro todos los campos de una tabla para que el usuario marque aquellos por los que desea buscar. Según marca los voy añadiendo en un TStringList y luego, mediante una sencilla función, preparo la consulta. Ejemplo:
| Código: |
AnsiString TFormExportar::PreparaSQL(TStringList *Camp,TStringList *Senten)
{
AnsiString Sentencia="";
if(Camp->Count>0)
{
Senten->Strings[0]=Camp->Strings[0]+",";
if(Camp->Count==1)
Senten->Strings[0]=Camp->Strings[0];
if(Camp->Count==2)
Senten->Strings[1]=Camp->Strings[1];
if(Camp->Count>2)
{
for (int x=0;x<Camp->Count;x++)
{
if(x==0)
Senten->Strings[0]=Camp->Strings[0]+",";
if(x>0 && x<(Camp->Count-1))
Senten->Strings[x]=Camp->Strings[x]+",";
if(x==Camp->Count-1)
Senten->Strings[x]=Camp->Strings[x];
}
}
for (int x=0;x<Senten->Count;x++)
Sentencia=Sentencia+Senten->Strings[x];
}
return Sentencia;
}
|
y con esto preparo la sentencia:
| Código: |
//le paso el TStringList "Camp" que contiene los campos marcados en
//el TCheckListBox y "SQLC" que es el TSTringList que contiene la
//sentencia SQL
AnsiString SentenciaSQLC=PreparaSQL(Camp,SQLC);
SentenciaSQLC="select "+SentenciaSQLC+" from \'"+MD->RutasDat.RutaPlat+"mi tabal.db\' where ....";
|
Es una idea. No se si te aclarará algo. |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Vie 06 Feb, 2004 12:12 am Asunto: |
|
|
Eso está muy bien Marky consultas definidas por el usuario es muy util, hiciste un buen apunte que olvidé!
ciao. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 06 Feb, 2004 1:25 am Asunto: |
|
|
Gracias por la respuesta... saludos
a los 2 _________________
 |
|
| Volver arriba |
|
 |
|