![]() |
Se borra mi sentencia select
Hola amigos, buenas tardes desde la lluviosa ciudad de Puebla, México
No se si este hilo este bien puesto en este foro o vaya en otro pero como estoy usando firebird 1.5 y lo que pierdo son sentencias de sql lo pongo aqui. ademas de firebird uso las fibplus y delphi 7 el problema que tengo es el siguiente: uso un TpFIBDataSet con la siguente sentencia:
Esta no contiene la sentencia orde by, y como este tengo varios TpFIBDataSet para otras tablas, para mostrar los datos uso un dbgrid, botones y menus (nada del otro mundo first, prior, next, last), como son varias tablas y muchas funciones similares cree un formato base (FrmBaseGrid) y estoy crendo formatos herredados (FrmProveedores). En el formato base tengo un procedimiento que cuando haces click en el titulo del campo del dbgrid este se pone en negritas y ordena la tabla en base a este campo: *nota las variables faltantes estan declaradas como publicas, codigoSQL es TStrings. para ordenar la tabla en el formato herredado (Frmproveedores) hago lo siguiente:
al ejecutar la aplicación e intentar ordenar la tabla me da error de que la propiedad SelectSQL esta bacia, para comprovar que estaba pasando con el contenido de "CogigoSQL" inserte un componente memo y el codigo siguiente:
y en el memo si me mostro bien la sentecia sql (select .....) y sigue el mismo error, probe con:
y en este caso tambien el memo esta en blaco, termine ocultando el memo y con el siguente codigo y el procedimiento funciona bien al parecer la linea en lugar de asignar a selectsql el contenido de CodigoSQL esta borrando el valor de CodigoSQL alguien sabe por que y que puedop hacer para no tener un componente memo oculto que solo sirve de enlace. gracias |
He intentado contestar 2 veces a este post, y la verdad, no sé como empezar :(.
1º- CodigoSQL se ha creado???, lo correcto sería crearlo antes de hacer una asignación:
2º- Para las asignaciones no te acostumbres a usar Lines directamente, el mejor método es uno de estos:
Este error lo tienes cada vez que trabajas con todos los TStrings. Cuando metes el memo funciona, porque el TMemo implementa la asignación de Lines llamando al método Assign, pero el TStrings no lo tiene. Estudia la ayuda sobre estos métodos. Lo más simple, es que pongas a String el CodigoSQL.
Para llamar:
En lugar de variables, yo hubiese usado propiedades, pero creo que así es más claro. Un saludo |
Gracias por tu ayuda Lepe, seguire tu consejo y cambiare mi código
|
La franja horaria es GMT +2. Ahora son las 08:35:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi