Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Añadir Columnas a objeto TQuery en tiempo de EJECUCIÓN

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Añadir Columnas a objeto TQuery en tiempo de EJECUCIÓN Responder citando

Sería posible añadir nuevas columnas a un TQuery en tiempo de ejecución, así como campos de tipo calculado?

Gracías!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Re: Añadir Columnas a objeto TQuery en tiempo de EJECUCIÓN Responder citando

MarioMarieti escribió:
Sería posible añadir nuevas columnas a un TQuery en tiempo de ejecución

Sí, tranquilamente. Lo único que tienes que indicarle luego que campo y demás propiedades de esa columna. Por ejemplo:
Código:
DBGrid1->Columns->Add();
DBGrid1->Columns->FieldName = "Nombre";
DBGrid1->Columnes->Title->Caption = "Nom. propio";

MarioMarieti escribió:
así como campos de tipo calculado

¿A que te refieres con esto? ¿A incluirlos en el DBGrid? Si están en la tabla de alguna forma no hay inconveniente.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Gracias Angel, pero eso del DBGrid lo tengo claro.

Me explico, me refiero el poder añadir campos a un TQuery en tiempo de ejecución, igual que se hace en tiempo de diseño. En tiempo de diseño una vez que le has especificado la consulta SQL tu le añades con el boton derecho los campos que quiere que se muestren el el DBGrid. Y yo lo que quiero es hacer lo mismo pero en tiempo de ejecución de la aplicación.
Espero haberme explicado bien.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Te había entendido otra cosa. De todas formas, lo otro puedes hacerlo sin problema; por ejemplo:
Código:
DBGrid1->Columns->Clear();
Query->Close();
Query->SQL->Text = "SELECT Apellidos||', '||Nombre AS Persona FROM 'Personas.db' ORDER BY Persona";
Query->Open();

DBGrid1->Columns->Add();
DBGrid1->DBGrid1->Columns->FieldName = "Persona";
DBGrid1->Columnes->Title->Caption = "Apellidos, Nombre";

Ese query se monta en tiempo de ejecución y lleva un campo calculado que se identifica como Persona y que es la concatenación de otros dos de la tabla. NO sé si es esto lo que preguntabas.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

El ejemplo que me has puesto Angel, añade las columnas al DBGrid y yo quiero añadirlo al objeto TQuery.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Están las dos cosas. La primera parte es un TQuery que se monta en tiempo de ejecución; fíjate:
Código:
Query->Close();
Query->SQL->Text = "SELECT Apellidos||', '||Nombre AS Persona FROM 'Personas.db' ORDER BY Persona";
Query->Open();

También los puedes ver de esta otra forma:
Código:
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT Apellidos||', '||Nombre AS Persona FROM 'Personas.db' ORDER BY Persona");
Query->Open();

Lo primero que hago es limpiar el código que tenga en ese momento y luego añado el que me interesa, que en este caso es un campo calculado.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.