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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2007
llonigualker llonigualker is offline
Miembro
 
Registrado: jul 2003
Posts: 67
Poder: 23
llonigualker Va por buen camino
Vamos a ver si me explico mejor para los puntos que no se han quedado claros o no los he entendido.

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?.

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 graficamente.

Por ahora esas son mis dudas, seguiremos informando. Ah, por cierto, con el Firebird vienen unos ejemplos, pero son muy basicos, alguien sabe de alguna aplicacion con sus fuentes algo mas elaborada que utilice los MDO para estudiarla? (creo que es la mejor manera de aprender).

Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida.

Última edición por llonigualker fecha: 19-03-2007 a las 08:31:08.
Responder Con Cita
  #2  
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
  #3  
Antiguo 19-03-2007
llonigualker llonigualker is offline
Miembro
 
Registrado: jul 2003
Posts: 67
Poder: 23
llonigualker Va por buen camino
Gracias, seguiré probando e investigando.

Otro dia, mas.

Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida.
Responder Con Cita
  #4  
Antiguo 19-03-2007
llonigualker llonigualker is offline
Miembro
 
Registrado: jul 2003
Posts: 67
Poder: 23
llonigualker Va por buen camino
He tardado poco.

Me ha surgido una duda, estoy definiendo en una tabla un campo blob de texto (subtipe 1) pero no se que juego de caracteres asignarle, si el win1252 o el iso8859_1. Es para pasar el contenido de un campo memo de texto (con sus acentos y todo) de una tabla paradox a esta nueva tabla.

¿Cual debo de utilizar?

Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida.
Responder Con Cita
  #5  
Antiguo 19-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
En España, yo estoy usando el ISO con COLLATE ES_ES, así permite eñes y acentos sin problemas en la BD.

Por lo visto en Firebird 2.0 hay un collate (cotejamiento) que permite hacer búsquedas independientemente de los acentos y mayúsculas, tendrías que mirar la documentación.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
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
con respecto a las eñes... yo trabajo con chartSet y collate en none y siempre que hago consultas no me pone problema, solo me da error en locates pero eso es por el IBX, ya que cuando pruebo desde donde creo la bd o desde el isql si me encuentra las ñ y los acentos, es mas en los dbGrids o dbEdits o DbComboBox salen bien. Solo me da error en loquetes.
Responder Con Cita
  #7  
Antiguo 20-03-2007
llonigualker llonigualker is offline
Miembro
 
Registrado: jul 2003
Posts: 67
Poder: 23
llonigualker Va por buen camino
Mañana comienzo la migracion de paradox a firebird (rehacer la aplicación), pero he instalado la 2.0 en vez de la 1.5, ya les contaré como va el tema y casi seguro, me surgirán dudas. Ah! Utilizo Delphi 6.

Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida.
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
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 11:56:22.


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