Club Delphi  
    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 12-03-2025
cdamer cdamer is offline
Registrado
 
Registrado: jun 2008
Ubicación: Argentina, Entre Rios, Gualeguaychu
Posts: 9
Poder: 0
cdamer Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 12-03-2025
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 280
Poder: 2
navbuoy Va por buen camino
realmente creo que no hace falta si usas la propiedad SQL del componente, porque la propia "sentencia SQL" que implementes ya resuelve eso

pero aqui te doy la informacion relativa a eso:

Las propiedades ModifySQL, InsertSQL y DeleteSQL en TIBQuery (de IBObjects) permiten definir manualmente las sentencias SQL para las operaciones de actualización, inserción y eliminación, en lugar de depender de la generación automática de IBObjects.

�� Uso de ModifySQL, InsertSQL y DeleteSQL en TIBQuery
1️⃣ Configuración en tiempo de diseño
Abre el diseñador de Delphi.
Agrega un componente TIBQuery al formulario.
Configura la propiedad SQL con la consulta SELECT.
Expande la propiedad UpdateSQL en el Inspector de Objetos.
Define las sentencias en ModifySQL, InsertSQL y DeleteSQL.
2️⃣ Configuración en código
Puedes definir las sentencias manualmente en tiempo de ejecución:

Código Delphi [-]
IBQuery1.SQL.Text := 'SELECT id, nombre, telefono FROM clientes WHERE id = :id';

// Configuración de Update (ModifySQL)
IBQuery1.ModifySQL.Text :=
  'UPDATE clientes SET nombre = :nombre, telefono = :telefono WHERE id = ld_id';

// Configuración de Insert (InsertSQL)
IBQuery1.InsertSQL.Text :=
  'INSERT INTO clientes (id, nombre, telefono) VALUES (:id, :nombre, :telefono)';

// Configuración de Delete (DeleteSQL)
IBQuery1.DeleteSQL.Text :=
  'DELETE FROM clientes WHERE id = ld_id';

�� Ejemplo de Uso
Después de configurar las sentencias, puedes utilizar ApplyUpdates para aplicar los cambios:

Código Delphi [-]
IBQuery1.Open;  // Abrimos la consulta

// Modificar un registro
IBQuery1.Edit;
IBQuery1.FieldByName('nombre').AsString := 'Juan Pérez';
IBQuery1.FieldByName('telefono').AsString := '987654321';
IBQuery1.Post;

IBQuery1.ApplyUpdates; // Aplica los cambios en la base de datos

// Insertar un registro
IBQuery1.Append;
IBQuery1.FieldByName('id').AsInteger := 100;
IBQuery1.FieldByName('nombre').AsString := 'Nuevo Cliente';
IBQuery1.FieldByName('telefono').AsString := '123456789';
IBQuery1.Post;

IBQuery1.ApplyUpdates;

// Eliminar un registro
IBQuery1.Delete;
IBQuery1.ApplyUpdates;

�� ¿Cuándo usar ModifySQL, InsertSQL y DeleteSQL?

Si la tabla no tiene una clave primaria bien definida.
Si necesitas consultas personalizadas (ejemplo: manejar registros de auditoría).
Si hay restricciones específicas en la base de datos que requieren manejar los cambios manualmente.



Creo que asi lo vas a tener ya claro del todo..... te pasare mi bizum, 100 euros bastaran (jajajaj es broma)

Última edición por navbuoy fecha: 12-03-2025 a las 16:44:49.
Responder Con Cita
  #3  
Antiguo 12-03-2025
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por cdamer Ver Mensaje
Muchas gracias por la pronta respuesta, navbuoy !!
pero me referia a como usar las propiedades ModifySQL, InsertSQL y DeleteSQL con un TIBQuery
Es igual al otro componente.
De todas formas, al seleccionar la tabla, pulsas en generar sql y se rellenan todos automáticamente.

Y si no es eso lo que preguntas entonces es mejor que crees un nuevo hilo con tu duda, aclarando exactamente lo que necesitas.
Responder Con Cita
  #4  
Antiguo 12-03-2025
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 280
Poder: 2
navbuoy Va por buen camino
Esta bien asi Casimiro, guarda relacion con el tema del hilo y creo que ya no queda mucho mas que explicar
Responder Con Cita
  #5  
Antiguo 13-03-2025
cdamer cdamer is offline
Registrado
 
Registrado: jun 2008
Ubicación: Argentina, Entre Rios, Gualeguaychu
Posts: 9
Poder: 0
cdamer Va por buen camino
navbuoy, tu informacion ha sido muy completa y me ha aclarado mucho el tema, te gradezco mucho.
y con respecto a comenzar otro hilo (casimiro), no entiendo porque, porque estamos hablando de lo mismo, por ahi casimiro entendiste mal las respuestas.
Saludos y muchas gracias.
Responder Con Cita
  #6  
Antiguo 13-03-2025
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por cdamer Ver Mensaje
navbuoy, tu informacion ha sido muy completa y me ha aclarado mucho el tema, te gradezco mucho.
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
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


La franja horaria es GMT +2. Ahora son las 16:33:57.


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
Copyright 1996-2007 Club Delphi