![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola bulc.
Cita:
Para lo que deseas hacer no son necesarios. Como te dijo Casimiro, es muy sencillo de realizar con ambos componentes. Usando TIBQuery:
Usando TIBDataSet: 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 .... |
|
#2
|
||||
|
||||
|
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. |
|
#3
|
||||
|
||||
|
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Parametros con Query. Mi explicación
Exiten dos tipos de acceso a Parámetros, en diseño y con código. Para usarlos en diseño se recurre a la propiedad Params del Query. Se abre su editor y
aparece su ventana. Debemos asignar Type: String; Nombre del Parametro: INI y su valor Unknown. Luego en código podemos hacer referencia a él a través de QueryX.Params[0] asignandole el valor actual. Previo a esto debemos cerrar el query(Close), limpiarlo Query.Clear, asignar el parámetro Params[0].Value:=cXX, asignar al SQL statement "SELECT campos FROM table WHERE campo = :INI ". Al abrir de nuevo el query se le asignará es valor del select parametrizado. No debemos olvidar si el valor del Query pasa a un ClientDataset de cerrar y abrir este también para que se renueven los datos que este último envía al DataSource que a su ve los pasa al DBGrid. Si es por código debemos usar un valor más exacto al parámetro, para ello nos apoyamos en un campo explícito. Para esto usamos la localización del parámetro. Query1.ParamByName('ParamName').AsMoldeador:='ValorActuall'; Pero, y a pesar de la teoría, no funciona. Tampoco da error. En mi caso el Query carga todos los registros con la cual, despues de un momento, el ClientDataSet da el error 'Infufcient Memory for this Operation". Fíjate en esto. Coloco un TTabControl con todas las letras del alfabeto. Lo uso y se puede acceder 'A TODA LA TABLA' por la letra que se elija. Tiene que haber algún pequeño (o gran) error que impide usar el parámetro. Usaré el debugger hasta dónde yo sé y luego como plan b. Usaré dos dbGrid separando uno para el Query y otro para el ClientDataSet. En fin, que ya caeré del burro. Tranquilo, Casimiro. Y deja de poner en duda lo que te digo, por favor. Trabajo en equipo. Excusas si causo un conflicto. Por cierto, las subpropiedades de la Prop. Params del Query me dejan un poco al pairo. ¿Se pueden explicar aqui? Gracias por todo. |
|
#5
|
||||
|
||||
|
¿Estás usando el código que te ha puesto ecfisa?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
IBQuery con parámetro; solucionado
Aprovechando tu tesón hice una prueba creando el Parametro usando la prop. Params en diseño. Después de toquetear con el InputOutput, funcionó.
Así que la pasé a código en runtime. Tenía un error de entrada. La recogida del dato estaba vacía. Puse un InputQuery y ya funciona. Este es mi código final. Un poco pardillo, pero funciona. Os quería hacer una pregunta que para mi tiene mucha importancia. Veréis. En la interface de mi tabla es importante que se vea un gráfico con cada registro. Para no consumir recursos uso la selección de los registros por letra inicial. Va bien, pero en el supuesto de muchos registro me gustaría poder ver los registro de cien en cien o de 50 en 50. ¿Qué sistema es el más usado, el de letra o el de una cantidad x de registros?. Y por otra parte os pongo un sobresaliente, y os agradezco vuestra paciencia con un latoso como yo.
Última edición por bulc fecha: 25-05-2013 a las 19:41:28. Razón: Olvidé el título |
|
#7
|
||||
|
||||
|
Cita:
A ver si puedo aclarar un poco el asunto... Los parámetros se definen en la consulta y siempre se escriben precedidos por dos puntos ':'. La consulta se puede asignar en tiempo de diseño o en tiempo de ejecución. Si en tiempo de diseño, desde el Object Inspector, asignamos a la propiedad SQL el valor: Se habrá creado un parámetro llamado "PNAME", cosa que podes comprobar desde el mismo Object Inspector haciendo click sobre los '...' de la propiedad Params. Habiendo sido creada la consulta y su parámetro, se puede llamar bién por su propiedad vectorial Params: O bién mediante el método ParamByName:
De otro modo, si consulta y parámetro son creados en tiempo de ejecución, se deben especificar ámbos. Mediante la propiedad vectorial Params: Mediante el método ParamByName:
Existe un tercer modo de acceso a los parámetros y es mediante la propiedad ParamValue:
Por último cabe acotar que si existe una definición de consulta/parámetros en tiempo de diseño, al asignar una nueva definición de consulta/parámetros en tiempo de ejecución, se sobreescribirá lo realizado en tiempo de diseño. Saludos. ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#8
|
||||
|
||||
|
Gracias por la aclaración. la he leído con interés
Gracias, Ecfisa por tu explicación. Al final he conseguido que funcione gracias a vuestra ayuda. Opté por usar el parámetro en tiempo de diseño y como
te comento (después de hurgar con el tipo entrada-salida), funcionó. Posteriormente lo pasé todo a runtime, por código. Un abrazo, Bulc |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|