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 Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #15  
Antiguo 12-03-2025
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
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:

Código Delphi [-]
IBOQuery1.SQL.Text := 'SELECT * FROM clientes WHERE ciudad = :ciudad';
IBOQuery1.ParamByName('ciudad').AsString := 'Madrid';
IBOQuery1.Open;  // O usar IBOQuery1.Active := True;

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:

Código Delphi [-]
IBOQuery1.SQL.Text := 'UPDATE clientes SET telefono = :telefono WHERE id = :id';
IBOQuery1.ParamByName('telefono').AsString := '123456789';
IBOQuery1.ParamByName('id').AsInteger := 10;
IBOQuery1.ExecSQL;

�� 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:

Código Delphi [-]
IBOQuery1.SQL.Text := 'DELETE FROM pedidos WHERE estado = ''cancelado''';
IBOQuery1.ExecSQL;

�� Para recorrer los datos después de ejecutar un SELECT
Si necesitas procesar los resultados de una consulta:

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

while not IBOQuery1.Eof do
begin
  ShowMessage('Cliente: ' + IBOQuery1.FieldByName('nombre').AsString);
  IBOQuery1.Next;
end;

IBOQuery1.Close; // Cerrar consulta al finalizar



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.
Responder Con Cita
 



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 06:05:18.


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