![]() |
![]() |
| 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
|
|||
|
|||
|
ok, eso si lo he pillado, lo que no entiendo es lo que comenta rastfary, con los borrados y updates desde la propiedad sql del ibquery, eso es lo que no me ha quedado claro...
Yo creo que con el dbnavigator y dbgrid es suficiente, aunque supongo que habrá gente que no le guste así y se haga de otras formas , quizás asociando a botones código asociado el ibquery(que no se si se podra hacer que soy muy novato en esto)...
__________________
NOVATAZO... |
|
#2
|
||||
|
||||
|
Resp
A los ibquery debes establecerles las instrccuines sqls. select, insert, update y delete.
HAs doble clic sobre el componente PAra establecer los sqls. Para select pestaña SQL. Click sobre la tabal y o sobre los campos y veras como funciona. Luego pesdtaña UPDATE SQL y le das A generate for table y listo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
#3
|
||||
|
||||
|
Hola rastafarey.
Puedo estar confundido, pero hasta donde sé, la única forma de usar las propiedades ModifySQL, InsertSQL y DeleteSQL con un TIBQuery es asignándole a la propiedad UpdateObject un TIBUpdateSQL. O de otra forma lanzar una sentencia de ese tipo manualmente. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 07-06-2011 a las 16:10:25. |
|
#4
|
|||
|
|||
|
Hola a todos
Seguramente a estas alturas has podido resolver tu problema Victor, pero escribiré esto por si alguien más consulta esta liga, a manera de aclaración. Para poder modificar datos con un objeto tIBOQuery, es necesario poner código en tres propiedades: DeleteSQL, EditSQL e InsertSQL, con las respectivas sentencias en sql para hacer la operación respectiva. Esto puede hacerse escribiendo el código directamente en estas propiedades en el inspector de objetos de delphi (una vez que está seleccionado el objeto tIBOQuery, por supuesto) o bien haciendo uso del asistente: se selecciona el objeto, luego botón secundario (generalmente botón derecho del ratón), en el menú contextual seleccionar la opción "Edit query" y aparece el asistente de configuración del objeto, por default en la pestaña SQL, donde se pone la sentencia Select con la cual extraeremos los datos de una tabla; la última pestaña de ese pagecontrol, se llama UpdateSQL, ahí están en tres secciones las propiedades referidas, y dos botones "Generate for table" y "Generate for procedure", al dar click llenará los espacios respectivos con el código SQL para hacer el UPDATE, INSERT y DELETE. Una vez hecho esto, se pueden hacer las operaciones de modificación a la tabla referida. Saludos. |
|
#5
|
|||
|
|||
|
Como es el uso practico de un DeleteSql por ej.
Hola,
se que ha pasado un tiempo, pero sigo sin poder usar esta caracteristica de los TIBOQuery, que podria ser muy util aparentemente. entiendo como generar los SQL en el TIBOQuery. pero no comprendo como seria el codigo para pasar parametros si deseo eliminar un registro por ej. como es el uso practico de esos sql's generados ? se asigna un SQL generado, a otro componente ? se usa el mismo componente ? como se asignan los parametros en cada caso y como se ejecuta cada SQL ? |
|
#6
|
|||
|
|||
|
En Delphi usando TIBOQuery (de IBObjects), puedes ejecutar una sentencia SQL de varias maneras dependiendo del tipo de consulta que deseas hacer.
�� Para consultas de selección (SELECT) Si necesitas recuperar datos de la base de datos:
Aquí se usa ParamByName para evitar SQL Injection y mejorar rendimiento. �� Para consultas de acción (INSERT, UPDATE, DELETE) Si necesitas ejecutar una consulta que modifique datos:
�� ExecSQL se usa en sentencias que no devuelven datos. �� Para ejecutar una consulta sin parámetros Si la consulta es fija y sin parámetros, puedes ejecutarla directamente:
�� Para recorrer los datos después de ejecutar un SELECT Si necesitas procesar los resultados de una consulta:
![]() en concreto Cdamer, lo que ParamByName te permite es con ayuda de la "cadena de texto" construir sentencias SQL para el TQuery asi digamos "personalizadas" como con variables y tal que podrian tomar ciertos valores en el transcurso del programa o bien por ejemplo si tenemos alguna especie de "Constructor" (en nuestra app) para que el usuario digamos "pregunte (via SQL)" cosas que le vengan en gana (al usuario) a la BD variando esos valores de la consulta SQL me refiero mediante algun sistema que tu mismo elabores para el usuario por ejemplo un desplegable con opciones relativas a cierto campo o bien un Editbox donde el usuario meteria numeros para por ejemplo listar registros cuyo "salario" sea de tanto ..... entiendes no?? eso le da mucha mas flexibilidad y customizacion potente que si por ejemplo solo estableces en el codigo la sentencia SQL pre-fijada. Espero que asi te quede mas claro todo, un saludo amigo Última edición por navbuoy fecha: 12-03-2025 a las 16:17:57. |
|
#7
|
|||
|
|||
|
y si, se usa el mismo componente IBOQuery para todo lo unico en tu parte del codigo que proceda, asignar la propiedad de SQL con la consulta EXCEPTO que por alguna razon necesites por ejemplo usar un TQuery para un SELECT y conservar el resultado porque dependiendo de lo que leas de los datos del SELECT tengas por ejemplo que hacer modificaciones a la propia TABLA u otra TABLA en cuyo caso necesitarias 2 objetos TIBOQUERY (ya que como digo, necesitas disponer de los datos del primero para recorrerlos y actuar segun sea la interpretacion o valores o lectura de esos campos/datos del SELECT con un INSERT o UPDATE en el otro TQUERY o tal)
porque como ya estaras suponiendo, si haces el SELECT y vuelves a utilizar el TIBOQUERY de nuevo pues los resultados del SELECT adios adios..... ajjajaja y otra cosa que no se si han dicho por aqui Cdamer, es que por ejemplo si utilizas la TTABLE en memoria, dependiendo de si tienes muchisimos registros puede petar la propia memoria o el Stack o algo de la app, pero con una consulta SQL en un TIBOQuery creo que no pasa eso ya que no carga el contenido de toda la tabla en la memoria, eso es bueno saberlo si, porque si eres capaz de "gestionar" todo el tema de la BD solo con el TQuery pues mejor Última edición por navbuoy fecha: 12-03-2025 a las 16:28:44. |
|
#8
|
|||
|
|||
|
ModifySQL, InsertSQL y DeleteSQL con un TIBQuery
Muchas gracias por la pronta respuesta, navbuoy !!
pero me referia a como usar las propiedades ModifySQL, InsertSQL y DeleteSQL con un TIBQuery |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Desinstalando IBObjects de delphi 2010 | jourdan | Conexión con bases de datos | 3 | 24-08-2010 20:45:46 |
| duda edit, insert, delete en Delphi 7 y MySQL | eneseme | MySQL | 11 | 25-05-2010 12:03:21 |
| Conocer lista de tablas de Base Datos (Firebird 2.0 y Componentes IBObjects) | mpedrero | Conexión con bases de datos | 5 | 16-02-2007 10:55:59 |
| Error al hacer insert (campo fecha) en firebird con fibplus | Acanol | Firebird e Interbase | 7 | 15-06-2006 09:05:07 |
| Con delphi Insert en Firebird varios registros desde otra tabla | lasweb | Conexión con bases de datos | 3 | 04-04-2005 20:58:26 |
|