Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Bueno, Me pongo a mirar ese material. Y si no encuntro nada....
Lo encontrarás

Ten en cuenta que si quieres aprender no te queda otra. Porque supongo que quieres aprender y dedicarte a esto.
En cuanto veas un poco del libro te darás cuenta que ese código que has puesto es "una patata" de aficionadillo, si quieres ser profesional entonces a leer
Responder Con Cita
  #2  
Antiguo 24-05-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Casimiro tiene razon
ese codigo es muy engorroso
no es necesario habilitar el grid ni los datasources, cuando se conectan se activan implicitamente al abrir el query

mas o menos lo q tienes q hacer es esto
el grid asignarle un datasource, el mismo q esta asignado al query
abres el query y listo, la informacion deberia verse en el grid
salvo el parametro colocado sea incorrecto en consecuencia no muestre dato alguno
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 24-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 416
Poder: 17
bulc Va por buen camino
El IBQuery por letra inicial funciona perfectamente...

Ese TiBquery funciona perfectamente, sólo tiene de exceso que el Provider, el DataSource y Grid no intervienen en la transaccion.
Es obligatorio cerrar y volver a abrir el IQquery y el ClientDataSet. Además de vaciar el SQL, claro.
He probado con la propiedad Prepare. Pero creo que el quid está en la propiedad Params del IBQuery...
Ahora bien, puse todos los componentes de la aplicación (en el código) para ver si eran necesarios o no. Ya que habia observado que un cambio en la prop. IBQuery.SQL afectaba a otros componentes. El nudo de la cuestión es que yo -en plan novato- uso un TTabControl con 26 letras. Al clicar una letra cambia el acceso al Query y se ven únicamente los registros que empiezan por esa letra. (Ten en cuenta que la base de datos gurda dibujos para usar en aplicaciones didácticas). El caso es que me planteé cambiar el TabControl por un acceso
al TQuery con parámetros. He mirado en un buen puñado de libros y en la red. Intuyo que lo que hace el servidor es crear un campo virtual con el parámetro, de manera que se pueda usar como enlace a los datos. Esto se hace modificando la prop. Params del IBQuery. Pero ahí te solicita unos datos que no consigo enderezar. Pero, vaya, estoy en ello. Ya he revisado el libro de Mareens (CaraOculta6) y ahora estoy con CaraOculta4. Sé que lo conseguiré de un modo u otro. Pero me llevará un tiempo. Como estoy jubilado me lo tomo con calma. No vivo de esto. Lo tengo como afición.
¿Alguien hace accesos a los registros por la primera letra (a,b,c...) de un campo indexado usando IBQuery con parámetros?
Si sabéis algo del famoso IBQuery, usado con parámetros, pues vuestra ayuda es bienvenida.
Responder Con Cita
  #4  
Antiguo 24-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 416
Poder: 17
bulc Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Lo encontrarás

Ten en cuenta que si quieres aprender no te queda otra. Porque supongo que quieres aprender y dedicarte a esto.
En cuanto veas un poco del libro te darás cuenta que ese código que has puesto es "una patata" de aficionadillo, si quieres ser profesional entonces a leer

Ya estoy jubilado con cuarenta años de servicios... Y te aseguro que bien currados. Me dedico a esto porque me gusta. Es una afición.... también toco la guitarra.
Responder Con Cita
  #5  
Antiguo 24-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Ya estoy jubilado con cuarenta años de servicios... Y te aseguro que bien currados. Me dedico a esto porque me gusta. Es una afición.... también toco la guitarra.
Yo también me "jubilaré" pronto

Para lo que quieres, es sencillo, es lo más básico, una plantilla/esquema sería algo así:
Usa un dataset, no el ibquery, te resultará más cómodo.
Este es el select del ibdatset:
Código SQL [-]
ibdatset.selectsql.text="select * from tabla where campo starting with :letra";
Ahora, en el evento de cambio de pestaña escribes:
Código SQL [-]
ibdatset.close;
ibdatset.params[0].value := laletraquesea /* no sé cómo lo estás haciendo */
ibdatset.open;
Se acabó.

Si estás jubilado entonces puedes leer tranquilamente el libro


pd: he escrito el código más o menos de memoria.
Responder Con Cita
  #6  
Antiguo 24-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 416
Poder: 17
bulc Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Yo también me "jubilaré" pronto

Para lo que quieres, es sencillo, es lo más básico, una plantilla/esquema sería algo así:
Usa un dataset, no el ibquery, te resultará más cómodo.
Este es el select del ibdatset:
Código SQL [-]
ibdatset.selectsql.text="select * from tabla where campo starting with :letra";
Ahora, en el evento de cambio de pestaña escribes:
Código SQL [-]
ibdatset.close;
ibdatset.params[0].value := laletraquesea /* no sé cómo lo estás haciendo */
ibdatset.open;
Se acabó.

Si estás jubilado entonces puedes leer tranquilamente el libro


pd: he escrito el código más o menos de memoria.
Pero, ¿no tengo que ajustar el parámetro en la propiedad Params del Query? Es por donde estaba hurgando...
Quiero decir; ¿ no se deben establecer los Parámetros con antelación (en diseño o en runtime)?
De todos modos cambiaré el IBQuery por un TIBDataSet, como recomiendas. ¿Quito el Provider y el ClientDataSet ?
Gracias.
Tal como están las cosas, te queda un pico para la jubilation.
Responder Con Cita
  #7  
Antiguo 24-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola bulc.

Cita:
Empezado por bulc Ver Mensaje
Pero, ¿no tengo que ajustar el parámetro en la propiedad Params del Query? Es por donde estaba hurgando...
Quiero decir; ¿ no se deben establecer los Parámetros con antelación (en diseño o en runtime)?
Si por supuesto.

Cita:
Empezado por bulc Ver Mensaje
¿Quito el Provider y el ClientDataSet ?
Para lo que deseas hacer no son necesarios.

Como te dijo Casimiro, es muy sencillo de realizar con ambos componentes.

Usando TIBQuery:
Código Delphi [-]
...
begin
  ...
  with IBQuery1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM WB WHERE ITEM STARTING WITH :cInicial'; 
    ParamByName('cInicial').AsString := cIni;
    Open;
  end;
end;

Usando TIBDataSet:
Código Delphi [-]
begin
  ...
  with IBDataSet1 do
  begin
    Close;
    SelectSQL.Text := 'SELECT * FROM WB WHERE ITEM STARTING WITH :cInicial';
    ParamByName('cInicial').AsString := cIni;
    Open;
  end;
end;
La ventaja del TIBDataSet es que dando valor a la propiedad SelectSQL en diseño, te permite usar la herramienta DataSetEditor, con la que podrás generar con muy poca intervención las sentencias para insertar, modificar y borrar datos. Esto no es así para el TIBQuery donde tendrás que definir las sentencias manualmente.

También remarco la sugerencia que te hizo Casimiro en otro mensaje sobre revisar el tutorial del amigo Caral: Tutorial

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 24-05-2013
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 416
Poder: 17
bulc Va por buen camino
Gracias, Ecfisa. Realmente ese tutorial no me resulta adecuado. Lo doy por superado. Pero agradezco tu empeño y aclaración.
Estoy dando un repaso a los libros. Ojalá fueran de papel... pero sigo adelante. Más pronto que tarde daré con la solución. Seguro.
Hasta pronto, amigos.
Bulc-anizado

Última edición por Casimiro Noteví fecha: 24-05-2013 a las 21:45:14.
Responder Con Cita
  #9  
Antiguo 24-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por bulc Ver Mensaje
Gracias, Ecfisa. Realmente ese tutorial no me resulta adecuado. Lo doy por superado. Pero agradezco tu empeño y aclaración.
Para nada, amigo, si dices eso es que no has visto el tutorial
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cerrar un TQuery en un a dll lookmydoom Conexión con bases de datos 0 16-08-2008 15:08:15
problemas con TQUERY ercrizeporta Conexión con bases de datos 2 21-09-2006 17:39:09
TQuery nenufer Conexión con bases de datos 2 22-05-2006 16:41:03
Ayuda Tquery jorgito Varios 1 21-01-2006 00:39:43
TQuery como parametro jzk OOP 6 14-10-2004 16:45:45


La franja horaria es GMT +2. Ahora son las 21:47:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi