| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Dom 30 Mar, 2008 6:12 pm Asunto: Añadir Columnas a objeto TQuery en tiempo de EJECUCIÓN |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 31 Mar, 2008 7:23 am Asunto: Re: Añadir Columnas a objeto TQuery en tiempo de EJECUCIÓN |
|
|
| 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 |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 31 Mar, 2008 10:15 am Asunto: |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 31 Mar, 2008 11:36 am Asunto: |
|
|
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 |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 31 Mar, 2008 12:34 pm Asunto: |
|
|
| El ejemplo que me has puesto Angel, añade las columnas al DBGrid y yo quiero añadirlo al objeto TQuery. |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 31 Mar, 2008 12:45 pm Asunto: |
|
|
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 |
|
 |
|