Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Error en Aplicacion

Buenos Dias, Muchas gracias en lo que me puedan colaborar por adelantado

lo que pasa es que tengo un problema al querer imprimir un listado en un DBGrid, tengo un formulario con 1 DBGrid, 1 Edit, necesito que al digitar una letra en el edit aparescan en el DBGrid un listado de los posibles datos que enpiezan por esa letra pero al hacerlo me aparece:

XSQLDA index out of range.

En el edit tengo el siguiente codigo:

dmReportes.BusFac(Factura.Text);

y en el modulo de reportes "dmReportes" tengo el siguiente procedimiento:

procedure TdmReportes.BusFac(Factura: String);
Begin
with qryBusFac do
begin
Close;
ParamByName('PMBusFac').AsString := '%'+Factura+'%';
Open;
end;
end;

ME PODRIAN COLABORAR??

MUCHAS GRACIAS.
Responder Con Cita
  #2  
Antiguo 12-02-2008
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
no te faltara hacer

ParamCheck := True;
__________________
Todos llevamos nuestros demonios a cuestas..
Responder Con Cita
  #3  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Cita:
Empezado por gmontes Ver Mensaje
no te faltara hacer

ParamCheck := True;
pero en donde podria esa linea en el modulo?
Responder Con Cita
  #4  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Cita:
Empezado por calciojar Ver Mensaje
pero en donde podria esa linea en el modulo?
Estuve mirando mi codigo y encontre que al querer poner en TRUE la propiedad
ACTIVE del TIBQUERY me aparece el mismo error XSQLDA index out of range
Responder Con Cita
  #5  
Antiguo 12-02-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Supongo que trabajas con PARADOX, de ser asi debes actualizar los indices de la tabla que es el problema que debes tener. Esto es tratando de adivinar ya que no colocas con que trabajas
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Cita:
Empezado por eduarcol Ver Mensaje
Supongo que trabajas con PARADOX, de ser asi debes actualizar los indices de la tabla que es el problema que debes tener. Esto es tratando de adivinar ya que no colocas con que trabajas
DELPHI, EMS INTERBASE & FIREBIRTH MANAGER
Responder Con Cita
  #7  
Antiguo 12-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, miren no se nada de Interbase o Firebird, pero no deberia de ser asi?:

Código Delphi [-]
 procedure TdmReportes.BusFac(Factura: String);
   Begin
     with qryBusFac do
       begin
         Close;
         ParamByName('PMBusFac').AsString := '%'+Factura.Text+'%';
         Open;
       end;
   end;

Digo yo, no sé,

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #8  
Antiguo 12-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
procedure TdmReportes.BusFac(Factura: String);
Begin
with qryBusFac do
begin
ParamByName('PMBusFac').Value := Factura.Text;
Open;
end;
end;
Saludos
Responder Con Cita
  #9  
Antiguo 12-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad entiendo poco.
Por que no colocas el codigo completo del from, ademas del codigo sql de qryBusFac.
Por favor trata de usar las etiquetas delphi, presionas Ir a Avanzado y veras arriba unos botones, hay uno que dice Delphi, entra las etiquetas que coloca en el mensaje pones el codigo.
Si tienes dudas avisa.
Saludos
Responder Con Cita
  #10  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Hola Modifique la linea que me diste de codigo pero sigue igualito con el mismo error
Responder Con Cita
  #11  
Antiguo 12-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cual es el codigo de qryBusFac
Saludos
Responder Con Cita
  #12  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Este es el codigo del Modulo Reportes (dmReportes)


Código Delphi [-]
unit dm_Reportes;

interface

uses
  SysUtils, Classes, FR_DSet, FR_DBSet, DB, IBCustomDataSet, IBQuery, Forms,
  IBSQL;

type
  TdmReportes = class(TDataModule)
    qryMatriNom: TIBQuery;
    dsMatricula: TDataSource;
    frMatricula: TfrDBDataSet;
    qryMatriNomNOMBRE_APELLIDO: TIBStringField;
    qryBusFac: TIBQuery;
    dsBusFac: TDataSource;
    qryBusFacCOD_FACTURA: TIntegerField;
    //procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
    procedure Guardas;
  public
    { Public declarations }
    Procedure BuscarMatriNom(Nombre: String);
    procedure BusFac(Factura: String);
  end;

var
  dmReportes: TdmReportes;

implementation

uses dm_Conexion, dm_Tablas, frm_CambiarLoginPass, frm_Codificadores,
  frm_Facturar, frm_InformesRecaudo, frm_InformesUsuario,
  frm_InformesVarios, frm_IngresarPagos, frm_Inicio, frm_Matricula,
  frm_Principal, DateUtils;

{$R *.dfm}

procedure TdmReportes.BuscarMatriNom(Nombre: String);
begin
  with qryMatriNom do
  begin
    Close;
      ParamByName('parametro').AsString := '%'+Nombre+'%';
    Open;
  end;
end;

procedure TdmReportes.BusFac(Factura: String);
Begin
  with qryBusFac do
  begin
    //Close;
      ParamByName('PMBusFac').AsString := '%'+Factura+'%';
    Open;
  end;
end;

procedure TdmReportes.Guardas;
begin
  dmConexion.SalvarTransaccion;
end;

end.
Responder Con Cita
  #13  
Antiguo 12-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Por lo que estoy viendo... es posible que el error provenga de otro lado. Además he notado que el código que muestran tiene una incosistencia: el parámetro es de tipo string, mientras que en el cuerpo del procedimiento, asumen que es un TEdit:

Código Delphi [-]
procedure TdmReportes.BusFac(Factura: String);
Begin
with qryBusFac do
begin
ParamByName('PMBusFac').Value := Factura; // aqui hay un error
Open;
end;
end;

Lo que no me está quedando claro que es lo que desea calciojar. ¿Hacer un like? Esto me lo pregunto por el hecho de que pone el comodin %.

El error que menciona de "fuera de rango" viene de otro lado...

Hay algo en otra parte que hace fallar el código. Sería útil que calciojar exponga más código del que expuso y que explique con mayor detalles que desea conseguir.

EDITO: veo que ya expuso más código, pero no es allí el problema. El problema viene del armado de la consulta SQL que está armando y/o de otro lugar. Asi lo estoy comprendiendo yo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 12-02-2008 a las 19:50:10.
Responder Con Cita
  #14  
Antiguo 12-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
efectivamente estaba pensando yo amigo Delphius, tal vez el problema puede venir de la sentencia SQLo en el onchange del edit, en fin en otro lado.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #15  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Cita:
Empezado por enecumene Ver Mensaje
efectivamente estaba pensando yo amigo Delphius, tal vez el problema puede venir de la sentencia SQLo en el onchange del edit, en fin en otro lado.

Saludos.
HOLA. en el OnChange del Edit tengo lo siguiente
Código Delphi [-]
dmReportes.BusFac(Factura.Text);
Responder Con Cita
  #16  
Antiguo 12-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por calciojar Ver Mensaje
HOLA. en el OnChange del Edit tengo lo siguienteCódigo Delphi [-]dmReportes.BusFac(Factura.Text);
calciojar, el error que tu tienes viene de más atrás del paso del OnChange. Es muy problable que se trata del armado de la consulta SQL. ¿Por casualidad estás limpiando el TQuery antes de armar la consulta?
No se estoy divagando... pero estoy seguro que el problema no es el OnChange.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #17  
Antiguo 12-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Por qué no intentas esto, no se si funcionará, pero vale ahi va:

Código Delphi [-]
procedure TdmReportes.BusFac(Factura: String);
var
   Filtro : String;
begin
   If (Factura.Text <> '') then
   begin
      qryFact.Filtered := False;
      Filtro := 'Factura Like ''%' +Factura.Text+ '%''';
      qryFact.Filter := Filtro;
      qryFact.Filtered := True;
   end
   else qryFact.Filtered := False;

end;

Concuerdo con delphius, por que no posteas la Sentencia SQL del query?

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #18  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
HOLA. modifique la consulta y ahora me aparece otro error:

SQL Parce error:
Parameter Name Expected
Responder Con Cita
  #19  
Antiguo 12-02-2008
calciojar calciojar is offline
Miembro
 
Registrado: ene 2008
Posts: 22
Poder: 0
calciojar Va por buen camino
Cita:
Empezado por calciojar Ver Mensaje
HOLA. modifique la consulta y ahora me aparece otro error:

SQL Parce error:
Parameter Name Expected
la consulta es:

select
factura.cod_factura
from
factura
where
factura.cod_factura like : PMBusFac
order by factura.cod_factura
Responder Con Cita
  #20  
Antiguo 12-02-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por calciojar Ver Mensaje
HOLA. modifique la consulta y ahora me aparece otro error:

SQL Parce error:
Parameter Name Expected
calciojar, si no pones la consulta aqui no podemos avanzar en conseguirte la solución.

SAludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
Respuesta



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
error en aplicacion asp.net nightynvid .NET 1 27-12-2006 19:54:47
Error en aplicacion raco Varios 1 16-06-2005 09:36:01
Error de aplicacion!!! Juan Carlos Varios 3 12-07-2004 04:59:43
Error en aplicación gescoto99 Tablas planas 1 22-05-2004 00:40:13
error aplicación mdi mariajoiz Varios 1 27-06-2003 16:53:52


La franja horaria es GMT +2. Ahora son las 21:00:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi