Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2005
ale21alito ale21alito is offline
Miembro
 
Registrado: feb 2005
Ubicación: Mar del Plata . Argentina
Posts: 49
Poder: 0
ale21alito Va por buen camino
error Select firebird 1.5

Amigos.

Soy iniciante de Firebird 1.5.

Tengo un problema con una consulta desde delphi 7.

Trabajo con IB EXPERT , MERCURY COMPONENTS.

Dispongo de un DB.fdb con la siguiente configuración
ISO8859_1
Dialecto SQL 3.

y la configure para que use el gds32.dll (embebido).

Me conecta perfectamente a la base de datos . pero cuando intento hacer una consulta para autenticar un user y un password me tira el siguiente error :

EMDOFirebirdError with "dinamic SQL error . Error code = -104
Token Uknown - line 1 chr 37

Componentes :
DataSource : datasource
MDOQryUser : query
MDOTransUser : transaction
MDODatabase1 : db

El codigo es el siguiente :

Código:
 
procedure TPrincipal.FormShow(Sender: TObject);
var
		accion:variant;
		intenta,correcto:boolean;
begin
		{ repite el pedido de login hasta que coincida o cierre el user o cancele}

		repeat
			  accion := Login.ShowModal;
			  intenta :=  accion = mrOk;

			{busca en la base de datos cada intento del usuario del sistema}

			MDOQryUser.SQL.Text := 'SELECT * FROM USERS WHERE USUARIO = '+Login.Item1Text+' AND PASS = '+Login.Item2Text+'';
			MDOQryUser.Active := true;
			if MDOQryUser.RowsAffected = 1 then
				correcto := true;
			else
				correcto := false;

			{compara los datos con los correctos}

			if correcto then
				begin

				{ ingresa al sistema porque encontró al usuario }

				SiLoginMSN.Popup;
				intenta := false;
				labelHora.Caption := timetostr(time);
				labelFecha.Caption := datetostr(date);
				end
			else if accion = mrOk then
				  NoLogin.ShowModal;
		
			until not intenta;

		if accion = mrCancel then
			  Application.Terminate;
end;
Responder Con Cita
  #2  
Antiguo 25-04-2005
Avatar de geovany
geovany geovany is offline
Miembro
 
Registrado: sep 2004
Ubicación: El Fuerte Sinaloa
Posts: 165
Poder: 20
geovany Va por buen camino
Parametros

yo lo haria de la siguiente manera
Código:
 Query.SQL.Add('SELECT * FROM USERS WHERE USUARIO =:usuario AND PASS = :pass);
 Query.Parameters.FieldByName('usuario').AsString := Login.Item1.Text;
 Query.Parameters.FieldByName('pass').AsString    :=  Login.Item2.Text;
 Query.Open;
 
 ....
No se pero creo k te problema es los tipo de datos del usuario y del pass son de tipo string (varchar) y no le estas colocando las comillas indicando que es una cadena asi que te recomiendo que utilices parametros para que te facilites esta operacion espero y eso resuleva tu problema
__________________
El Fracaso tiene mil explicaciones el Éxito no necsita explicación

Última edición por geovany fecha: 25-04-2005 a las 19:43:22. Razón: La carita quere decir :p ":pass"
Responder Con Cita
  #3  
Antiguo 25-04-2005
ale21alito ale21alito is offline
Miembro
 
Registrado: feb 2005
Ubicación: Mar del Plata . Argentina
Posts: 49
Poder: 0
ale21alito Va por buen camino
lo pude solucionar así gracias.

salu2
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


La franja horaria es GMT +2. Ahora son las 06:49: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