Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2008-11

Resumen de Lazarus-es, Vol 14, Envío 7

8 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Antonio Dominguez

Hola, quiz�s sea una tonter�a pero como veo que no dais con la soluci�n, yo propongo la idea que pens� desde el principio.
�Has pensado en meter el nombre de la tabla en una variable string? Luego la concatenas con el resto de la consulta y si quieres puedes preguntar por el �ltimo valor de la variable o guardarla en un registro con: Date, Nombre_Tabla, Consulta, Resultado, etc. seg�n lo que necesites. Un saludo, Antonio

P.D. No se si es corecta la edici�n del asunto. Es mi primera respuesta en la lista.
El 15 de noviembre de 2008 18:00, <lazarus-es-request en lazarus.freepascal.org

Show quoted text 317 lines
escribi�: Env�e los mensajes para la lista Lazarus-es a lazarus-es en lazarus.freepascal.org Para subscribirse o anular su subscripci�n a trav�s de la WEB http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es O por correo electr�nico, enviando un mensaje con el texto "help" en el asunto (subject) o en el cuerpo a: lazarus-es-request en lazarus.freepascal.org Puede contactar con el responsable de la lista escribiendo a: lazarus-es-owner en lazarus.freepascal.org Si responde a alg�n contenido de este mensaje, por favor, edite la linea del asunto (subject) para que el texto sea mas especifico que: "Re: Contents of Lazarus-es digest...". Adem�s, por favor, incluya en la respuesta s�lo aquellas partes del mensaje a las que est� respondiendo. Asuntos del d�a: 1. Prueba. NO leer ... (Antonio Caballero Mart�nez) 2. Re: [MySQL] Obtener el nombre de una tabla consultada (Markisich Emiliano) ---------------------------------------------------------------------- Message: 1 Date: Fri, 14 Nov 2008 23:38:28 +0100 From: Antonio Caballero Mart�nez <antonio.caballero.martinez en gmail.com> Subject: [Lazarus-es] Prueba. NO leer ... To: Spanish version of Lazarus List <lazarus-es en lazarus.freepascal.org> Message-ID: <491DFDE4.5070408 en gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Hola. Esto es una prueba de env�o de mensaje. Saludos ------------------------------ Message: 2 Date: Sat, 15 Nov 2008 11:01:50 -0300 From: Markisich Emiliano <markisoft en yahoo.com.ar> Subject: Re: [Lazarus-es] [MySQL] Obtener el nombre de una tabla consultada To: Spanish version of Lazarus List <lazarus-es en lazarus.freepascal.org> Message-ID: <491ED64E.8020205 en yahoo.com.ar> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Hola, eso lo podes hacer con un Trigger, creas una tabla de historial y un trigger que cuando se realize un insert o delete o update se dispare y agregue un registro en la tabla historial. lo que no se si funciona con un select. otra cosa esto depende de que motor de base de datos estes usando. saludos CREATE TRIGGER NOMBRE ACTIVE BEFORE INSERT OR UPDATE POSITION 12 AS BEGIN IF (INSERTING) THEN BEGIN /(AGREGO en la tabla de historial)/ END ELSE IF (UPDATING) THEN BEGIN /(AGREGO en la tabla de historial)/ END END^ SET TERM ; ^ User escribi�: > > Hola de nuevo, no, no es eso, yo lo �nico que le digo al sistema es: > > toma aqu� tienes esta consulta: 'selec * from Carros' > > ahora dime que tabla ha sido la consultada, y el sistema me devuelva: > Carros o la que sea > > No se si me explico. > > Saludos. > > > 2008/11/14 Carlos German Tejero <german_tejero en yahoo.com.ar > <mailto:german_tejero en yahoo.com.ar>> > > Entonces podrias hacer algo asi: > > procedure TForm1.ProcesaConsulta(const TABLE_NAME:string); > > const > > QUERY = 'SELECT * FROM %s;'; > > var > > i: integer; // Contador para recorrer los campos de un registro > > NombreTabla: string; // Variable de tipo string para almacenar > el nombre de la tabla > > begin > > SQLQuery1.SQL.Text := Format(QUERY, [TABLE_NAME]); > SQLQuery1.Open; > SQLQuery1.First; > while not SQLQuery1.EOF do // Este bucle recorre todos los > registros de la consulta, desde el primero al �ltimo > begin > for i := 0 to SQLQuery1.Fields.Count - 1 do // Muestra > en mensajes el contenido de cada campo del registro > ShowMessage('Nombre del campo: ' + > SQLQuery1.Fields.Fields[i].FieldName + > ' Contenido: ' + > SQLQuery1.FieldByName(SQLQuery1.Fields.Fields[i].FieldName).AsString); > SQLQuery1.Next; // Pasa al siguiente registro > end; > NombreTabla := TABLE_NAME > end; > > > y llamar a ProcesaConsulta('carros'); > > > 2008/11/14 Usuario An�nimo <usuarioanonimomysql en gmail.com > <mailto:usuarioanonimomysql en gmail.com>> > > Pero seg�n eso que has puesto el nombre de la tabla siempre va > a ser el contenido de la constante TABLE_NAME y yo quiero que > sea algo din�mico, independientemente de la consulta, es > decir, quiero obtener el nombre de la tabla. > > Saludos. > > > 2008/11/14 Carlos German Tejero <german_tejero en yahoo.com.ar > <mailto:german_tejero en yahoo.com.ar>> > > Podrias probar con algo asi, porque el componente > TSQLQuery no sabe cual es la tabla, ya que podrian ser mas > de una: > > > procedure TForm1.ProcesaConsulta; > > const > > QUERY = 'SELECT * FROM %s;'; > > TABLE_NAME = 'carros'; > > var > > i: integer; // Contador para recorrer los campos de un > registro > > NombreTabla: string; // Variable de tipo string para > almacenar el nombre de la tabla > > begin > > SQLQuery1.SQL.Text := Format(QUERY, [TABLE_NAME]); > SQLQuery1.Open; > SQLQuery1.First; > while not SQLQuery1.EOF do // Este bucle recorre todos > los registros de la consulta, desde el primero al �ltimo > begin > for i := 0 to SQLQuery1.Fields.Count - 1 do // > Muestra en mensajes el contenido de cada campo del > registro > ShowMessage('Nombre del campo: ' + > SQLQuery1.Fields.Fields[i].FieldName + > ' Contenido: ' + > SQLQuery1.FieldByName(SQLQuery1.Fields.Fields[i].FieldName).AsString); > SQLQuery1.Next; // Pasa al siguiente registro > end; > NombreTabla := TABLE_NAME > end; > > > > 2008/11/14 Usuario An�nimo <usuarioanonimomysql en gmail.com > <mailto:usuarioanonimomysql en gmail.com>> > > Hola, pongamos que tengo un programa que procesa > consultas simples MySQL del tipo select * from Tabla > mediante el componente TSQLQuery. Necesito guardar en > una variable de tipo string el nombre de la tabla > consultada. Ejemplo: > > El programa procesa la siguiente consulta: select * > from Carros; > > procedure TForm1.ProcesaConsulta; > > var > > i: integer; // Contador para recorrer los campos de > un registro > > NombreTabla: string; // Variable de tipo string > para almacenar el nombre de la tabla > > begin > > SQLQuery1.SQL.Text := 'select * from Carros'; > SQLQuery1.Open; > SQLQuery1.First; > while not SQLQuery1.EOF do // Este bucle recorre > todos los registros de la consulta, desde el primero > al �ltimo > begin > for i := 0 to SQLQuery1.Fields.Count - 1 > do // Muestra en mensajes el contenido de cada campo > del registro > ShowMessage('Nombre del campo: ' + > SQLQuery1.Fields.Fields[i].FieldName + > ' Contenido: ' + > SQLQuery1.FieldByName(SQLQuery1.Fields.Fields[i].FieldName).AsString); > SQLQuery1.Next; // Pasa al siguiente registro > end; > NombreTabla := <no s� qu� asignar aqu�>; > // NombraTabla ha de contener Carros > end; > > �C�mo puedo saber qu� tabla es la consultada? Ya se > que es Carros y que puedo obtenerla mediante un manejo > de cadenas pero me gustar�a saber si hay alguna forma > m�s inmediata de hacerlo, pienso que puede que el > sistema lo almacene por alg�n lado y no haga falta que > haga un tratamiento de la cadena select * from Tabla > para obtener el nombre de la tabla. > > Muchas gracias. > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > -- > Carlos Germ�n Tejero > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > -- > Carlos Germ�n Tejero > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > ------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es Fin de Resumen de Lazarus-es, Vol 14, Env�o 6 *********************************************

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081116/3905667a/attachment.html>

Reply by email

Markisich Emiliano
to Antonio Dominguez

Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez alguien ya lo soluciono.

El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo

alguen tiene una idea de lo que pasa?

Muchas Gracias!

Reply by email

javivf
to Markisich Emiliano

El dom, 16-11-2008 a las 20:55 -0300, Markisich Emiliano escribi�:

Show quoted text 10 lines
Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez alguien ya lo soluciono. El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo alguen tiene una idea de lo que pasa? Muchas Gracias!

No estaria de mas que dieras las versiones que usas de fpc/lazarus, contra que base de datos estas atacando y que paquete usas para conectarte (SQLdb o Zeos)

_______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Markisich Emiliano
to javivf

si disculpame se me paso, la version de lazarus es la 0.9.27 estaba usando un a del 26-06-08 pero ahora la actulaize a la del dia 16-11-08 para ver si era problema de la version pero hace lo mismo, la version de freepascal es 2.2.2 y el componente SQLdbLaz 1.0.1

Gracias.

javivf escribi�:

Show quoted text 31 lines
El dom, 16-11-2008 a las 20:55 -0300, Markisich Emiliano escribi�: > Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez > alguien ya lo soluciono. > > El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); > cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se > mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo > > alguen tiene una idea de lo que pasa? > > Muchas Gracias! > No estaria de mas que dieras las versiones que usas de fpc/lazarus, contra que base de datos estas atacando y que paquete usas para conectarte (SQLdb o Zeos) > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

javivf
to Markisich Emiliano

Aqui funciona, igual es que el query tiene muchas filas �es posible? Ah, yo he probado con fpc 2.3.1, a ver si hay alguien con 2.2.2 nos dice si le funciona bien.

El lun, 17-11-2008 a las 17:47 -0300, Markisich Emiliano escribi�:

Show quoted text 44 lines
si disculpame se me paso, la version de lazarus es la 0.9.27 estaba usando un a del 26-06-08 pero ahora la actulaize a la del dia 16-11-08 para ver si era problema de la version pero hace lo mismo, la version de freepascal es 2.2.2 y el componente SQLdbLaz 1.0.1 Gracias. javivf escribi�: > El dom, 16-11-2008 a las 20:55 -0300, Markisich Emiliano escribi�: > >> Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez >> alguien ya lo soluciono. >> >> El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); >> cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se >> mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo >> >> alguen tiene una idea de lo que pasa? >> >> Muchas Gracias! >> > > No estaria de mas que dieras las versiones que usas de fpc/lazarus, > contra que base de datos estas atacando y que paquete usas para > conectarte (SQLdb o Zeos) > > >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lazarus.freepascal.org >> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Markisich Emiliano
to javivf

Hola.
No, el locate encuentra una fila, ademas cuando le pongo alguna opcion como busqueda parcial se cuelga la aplicacion
que tal anda lazarus con la version 2.3.1 de free pascal? voy a probar instalarla.

Gracias!

javivf escribi�:

Show quoted text 61 lines
Aqui funciona, igual es que el query tiene muchas filas �es posible? Ah, yo he probado con fpc 2.3.1, a ver si hay alguien con 2.2.2 nos dice si le funciona bien. El lun, 17-11-2008 a las 17:47 -0300, Markisich Emiliano escribi�: > si disculpame se me paso, la version de lazarus es la 0.9.27 estaba > usando un a del 26-06-08 pero ahora la actulaize a la del dia 16-11-08 > para ver si era problema de la version pero hace lo mismo, la version de > freepascal es 2.2.2 y el componente SQLdbLaz 1.0.1 > > Gracias. > > javivf escribi�: > >> El dom, 16-11-2008 a las 20:55 -0300, Markisich Emiliano escribi�: >> >> >>> Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez >>> alguien ya lo soluciono. >>> >>> El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); >>> cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se >>> mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo >>> >>> alguen tiene una idea de lo que pasa? >>> >>> Muchas Gracias! >>> >>> >> No estaria de mas que dieras las versiones que usas de fpc/lazarus, >> contra que base de datos estas atacando y que paquete usas para >> conectarte (SQLdb o Zeos) >> >> >> >>> _______________________________________________ >>> Lazarus-es mailing list >>> Lazarus-es en lazarus.freepascal.org >>> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >>> >>> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lazarus.freepascal.org >> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Markisich Emiliano
to javivf: Aqui funciona, igual es que el query tiene muchas filas �es posible? Ah, yo he probado…

bueno, instale la version de lazarus 0.9.27 de hoy 22/11/08 con la version 2.3.1 de Free pascal y ahora me tira una excepcion 'External SIGSEGV' le doy aceptar a la excepcion y me muestra una ventana que dice ejecucion pausada, Direccion $00402D27 Procedimiento SYSTEM_SMALLFORDWAREMOVE_3

El codigo que utilizo es a en el onclick del boton pongo SQLQuery.Locate('ORDEN','5',[])
SQLQUERY esta activo con un listado el ORDEN es INTEGER y es unico.

�que hago mal???

javivf escribi�:

Show quoted text 61 lines
Aqui funciona, igual es que el query tiene muchas filas �es posible? Ah, yo he probado con fpc 2.3.1, a ver si hay alguien con 2.2.2 nos dice si le funciona bien. El lun, 17-11-2008 a las 17:47 -0300, Markisich Emiliano escribi�: > si disculpame se me paso, la version de lazarus es la 0.9.27 estaba > usando un a del 26-06-08 pero ahora la actulaize a la del dia 16-11-08 > para ver si era problema de la version pero hace lo mismo, la version de > freepascal es 2.2.2 y el componente SQLdbLaz 1.0.1 > > Gracias. > > javivf escribi�: > >> El dom, 16-11-2008 a las 20:55 -0300, Markisich Emiliano escribi�: >> >> >>> Hola los molesto de nuevo, ahora tengo el siguiente problema tal vez >>> alguien ya lo soluciono. >>> >>> El problema es al hacer un SQLQUERY.LOCATE('ID_PERSONA', ID_PERSONA, []); >>> cuando se ejecuta esa linea las DBGrid quedan fritas! conjeladas no se >>> mueven mas, ahora probe con un disablecontrol al dataset y hace lo mismo >>> >>> alguen tiene una idea de lo que pasa? >>> >>> Muchas Gracias! >>> >>> >> No estaria de mas que dieras las versiones que usas de fpc/lazarus, >> contra que base de datos estas atacando y que paquete usas para >> conectarte (SQLdb o Zeos) >> >> >> >>> _______________________________________________ >>> Lazarus-es mailing list >>> Lazarus-es en lazarus.freepascal.org >>> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >>> >>> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lazarus.freepascal.org >> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> >> > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Markisich Emiliano
to javivf: Aqui funciona, igual es que el query tiene muchas filas �es posible? Ah, yo he probado…

Hola Lazarusers, los molesto de nuevo con mis preguntontas, les comento tengo instalado lazarus 0.9.27 con free pascal 2.3.1 y como los componentes de SQLDBlaz no los pude hacer andar bien, decidi instalar Zeos version 6.6.4 ahora anda el locate el refresh y el comit, el problema que tengo ahora es que en el componente ZUPDATE pongo las consulta de insert asi
INSERT INTO BAS_LOCALIDADES (
CP,
ID_PROVINCIA,
LOCALIDAD,
CARACTERISTICA,
ESTADO)
VALUES (
:CP,
:ID_PROVINCIA,
:LOCALIDAD,
:CARACTERISTICA,

                :ESTADO);

y anda barbaro pero yo necesito ponerla como procedimiento, asi

EXECUTE PROCEDURE PRO$ALTA$BAS_LOCALIDADES(:CP, :ID_PROVINCIA, :LOCALIDAD, :CARACTERISTICA, :ESTADO)

el tema que asi no me da error pero los controles quedan deshabilitados como si no etan conectados al datasource.
intente con el componente de zeos para ejecutar procedimientos pero no se como usarlo ejecute una consulta de select pero no pude las de insert.

�alguna idea?

Gracias

Reply by email