Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 24-01-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
No olvides que el metodo Clear lo que hace no es borrar el contenido del parametro sino borrar completamente los parametros
Código Delphi [-]
^
 DModulo.QBuscar.SQL.Clear; //Borramos la instruccion SQL
// Ahora escribimos la sentencia con su parametro
 DModulo.QBuscar.SQL.Text:='select distinct * from  '+ 
                     'alumnos,tipodealumno,municipio,grados ' +
                      'where tipodealumno.tipo_alumno=alumnos.tipo_alumno '+ 
                      'and alumnos.grado=grados.id_grado and ' +  
             'alumnos.id_mpio=municipio.id_mpio and alumnos.matricula=:mat';  
//Ponemos el parametro
 DModulo.QBuscar.ParamByName('mat').AsString :=BuscaMatricula.Text;
//Corremos el query
 DModulo.QBuscar.Open;

//oh...Ahora quiero correr otra vez el query pero con otro valor para el parametro
 DModulo.QBuscar.ParamByName('mat').AsString :=OtroControl.Text;
 DModulo.QBuscar.Open;

// Listo...no hay que inicializar nada ni el parametro ya que Delphi se encarga
//Ahora bien, quiero usar el mismo control pero para correr un query diferente

DModulo.QBuscar.SQL.Clear; // Borramos la sentencia que ya no queremos
//Cambiamos el query

//Esta vez usare otra forma de añadir la sentencia pero puedes usar la forma de arriba
 DModulo.QBuscar.SQL.Add( 'select distinct * from  ');
 DModulo.QBuscar.SQL.Add('alumnos,tipodealumno,municipio,grados ' );
 DModulo.QBuscar.SQL.Add( 'where ');
 DModulo.QBuscar.SQL.Add('tipodealumno.tipo_alumno=alumnos.tipo_alumno ');
 DModulo.QBuscar.SQL.Add( 'and alumnos.grado=grados.id_grado and ');
 DModulo.QBuscar.SQL.Add(  'alumnos.id_mpio=:municipio');  

// Aplicamos el nuevo parametro
 DModulo.QBuscar.ParamByName('municipio').AsString :=OtroControl.Text;
//Corremos el query.
 DModulo.QBuscar.Open;
Como vemos en el código, Delphi se encarga de borrar y añadir los parametros que vamos creando con las sentencias SQL. Así vemos que en el ejemplo la primera sentencia usa "mat" como parametro y la seguna "municipio". En el primer caso delphi crea en automático "mat", al meterle la segunda sentencia crea "municipio". Con la sentencia "Clear" delphi borra ademas de la sentencia los parametros que se crearon.

Los parametros los puedes usar tambien en sentencias INSERT, DELETE o UPDATE en la misma forma, solo que en esos casos no se usa "Open" sino "ExecSQL" para ejecutar el query ya que estas sentencias no devuelven datos.

Sobre los procedimientos almacenados Zeos incluye un control especial para eso "TStoredProc" , ademaás de que se de pueden llamar or medio del control "TSQLScript" de Zeos.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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
¿liberar memoria despues de usar una Query? mrmanuel Conexión con bases de datos 25 01-11-2006 14:20:14
FreeReport-Imprimir dos veces el mismo reporte MeArevalo Impresión 1 05-11-2004 20:34:00
Abrir varias veces el mismo form Phacko Varios 7 25-09-2004 05:22:01
Imprimir algo varias veces. aoiTo Impresión 0 20-07-2004 19:12:49
Obtener dos veces el mismo campo. Jose_Pérez SQL 11 27-02-2004 05:51:06


La franja horaria es GMT +2. Ahora son las 04:49:43.


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