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 Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 19-03-2007
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 23
RONPABLO Va por buen camino
Cita:
Punto 1.- En una BD yo puedo tener varios indices de una misma tabla para que en el tema de consultas sea mas rapido. Si consulto una cosa me interesaria utilizar un indice y si consulto otra, pues me interesaria utilizar otro indice. Pues bien, como se le puede indicar eso (si es posible) en una SP?.

digamos hay una tabla llamada tabla con los campos c1, c2, c3 y c4 de los cuales los campos c1 y c2 están indexados.

Código SQL [-]
begin
    for select c3,  c4  from tabla where
         ((c1 = :c1) or :c1 is null)) and ((c2 = :c2) or (:c2 is null))
         into :c3, :c4 do
         begin
            suspend;
         end
end

como tal en el ejemplo anterior es buscar por un indice y/o por el otro, en es ejemplo la idea es que :c1, :c2 son parámetros de entrada y :c3, :c4 parámetros de salida, con los parámetros de entra yo puedo decidir por cual de los dos buscar, por decir algo si quiero solo buscar lo que hay en el campo indexado c1 mando un valor que se debe encontrar en dicho campo por medio del parámetro :c1 y mando un null en el parámetro :c2 y al revés si quiero buscar por el campo indexado c2 (espero sea esto lo que busques)

Cita:
Punto 2.- Ya tenia mas o menos claro lo de el for select...do y el suspend, mi pregunta era (para no utilizar MDOTtable) que una vez hecha la consulta con una MDOStoredProc, como recorro el conjunto de registros resultante y con que componente se pueden mostrar gráficamente.
como tal el MDOTQuery, MDOTtable y el MDOTDataSet son DataSets que se pueden asociar a un DataSource y este a un DBGrind por decir algo, entonces puedes usar un MDOTQuery para retornar informacion. para consultar datos no debes de usar el MDOStoredProc, estos son para el tipo de sp que solo hacen cambios (Deletes, Update e Insrts)

Código Delphi [-]
    MDOTQuery.sql := 'select * from sp(:c1,:c2);'
    MDOTQuery.ParamByName('c1').asInteger := var1;
    MDOTQuery.ParamByName('c2').asInteger := var2;
    MDOTQuery.Open;

y si esta bien enlazado a un dbGrid se vera los campos c3 y c4 en el dbGrid
Responder Con Cita
 


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
TRANSFORMAR PROGRAMA paradox a firebird rickymarti Firebird e Interbase 11 10-02-2008 11:56:17
Paradox a Firebird Vlady Conexión con bases de datos 2 22-11-2006 21:05:19
De Paradox a Firebird morta71 Firebird e Interbase 5 05-10-2006 20:31:24
Pasar Tabla de Paradox a Firebird JoanKa Firebird e Interbase 4 12-02-2005 02:57:54
exportar una tabla de oracle 9i a paradox o firebird ARCON Oracle 1 28-10-2004 10:38:22


La franja horaria es GMT +2. Ahora son las 20:25:25.


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