Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
Yensis22 Va por buen camino
Question Consulta usando query en delphi 7

estoy creado una aplicacion en la cual estoy teniendo problema con una consulta mi base de datos esta es acces y estoy los siguiente componente usando datamodule, database y query para relizar las consulta que es con los que estoy teniendo problema yo puedo ver y almacena los datos y tengo tos esto componten enlasado pero con las con sulta me esta tirando este erorror. Proyect facturacion.exe raised exception class EDBEningError with messanger "General SQL error. Process stopped. Use Step or Run to continue

y este es el codigo que tengo el cual se que esta bueno por que funciona bien en paradox pero nose si hay que cambiar algo para usalo en acess

codigo en DELPHI 7 lo que esta en azul en codigo es donde marca el error cundo se para la ejecucion

unit FConsuEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;
type
TFConstaEquipos = class(TForm)
Bevel2: TBevel;
Codequipo: TEdit;
Busqueda: TComboBox;
cBuscar: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
DBGrid1: TDBGrid;
procedure cBuscarClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FConstaEquipos: TFConstaEquipos;
implementation
uses login;
{$R *.dfm}
procedure TFConstaEquipos.cBuscarClick(Sender: TObject);
begin

if Busqueda.ITemIndex = 0 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(placa) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 1 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(modelo) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 2 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(marca) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 3 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(Año) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 4 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(ficha) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
end;

procedure TFConstaEquipos.BitBtn1Click(Sender: TObject);
begin
RepConequipos.preview();
end;
procedure TFConstaEquipos.BitBtn2Click(Sender: TObject);
begin
RepConequipos.print();();
end;
end.
Responder Con Cita
  #2  
Antiguo 24-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
Yensis22 Va por buen camino
este es el berdadero error que me esta dando

Disculpeme este es el verdadero error que me esta dando Proyect facturacion.exe raised exception class EDBEningError with messanger "General SQL error.(microsft)(contolador OBDC Microft Access) la Funcion UPPER no esta definidad en la expresion Process stopped. Use Step or Run to continue.

povar ayuden
Responder Con Cita
  #3  
Antiguo 24-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me parece que esta diciendo que la funcion upper no esta definida.
Es probable que no funcione esta funcion con access.
1- quitaria esta funcion.
2- cambiaria de bde a ado, asi no usaria el odbc.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 25-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Yensis22, como te dice el mensaje de error la función UPPER no esta definido en access, pero si tiene la funciones UCase y LCase equivalente al UPPER y LOWER. Ahora creo recordar que el operador del like en access no es el % sino el *. Y como te dice el amigo Caral sería mucho mejor que utilizaras ADO en vez de BDE.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 25-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 17
Yensis22 Va por buen camino
Thumbs up solucion

Gracias por su gran ayuda me funcion perfetamente con ucasa y no tube que cambiar los signo de % me esta funcionando de mil marabillas gracias y que diso les des vida y salud
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
Consulta usando query en delphi 7 Yensis22 SQL 3 25-08-2008 12:29:55
consulta usando ibquerry ANALILIAHUJA SQL 4 22-01-2008 20:04:14
consulta SQL en Delphi 5 usando like en un campo memo MaSSaKKre SQL 4 12-02-2007 01:52:02
Usando Query en delphi 7 quja SQL 2 16-10-2005 07:05:37
consulta usando IF .. ELSE.. en un FROM raffagia SQL 1 19-10-2004 11:00:50


La franja horaria es GMT +2. Ahora son las 11:23:21.


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