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

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Formualario De Conexion

Hola Amigos Estoy Haciendo Una Mdiaplicacioin, Mi Primera Ventana Contines Aparte De La Principal Un Formulario PequeÑo Para Pedir Usuario Y Password Para Entrar A La Base De Datos.

Como Puedo Hacer Que Este Me Valga Para Conectarme A La Bease De Datos Durante Toda La Aplicacion?.

Saludos!!
Responder Con Cita
  #2  
Antiguo 17-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Primero no indicas bien que tipo de BD tenés ni que componentes utilizás para conectarte. Sin embargo la respuesta podría ser declarar dos variables públicas y globales que te mantengan el usuario y la contraseña mientras dure tu app. de esta forma las completas con un form de login y podés utilizarla en cualquier momento.

Las preguntas demasiado generales tienen respuestas demasiado generales
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #3  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
tienes razon,EXCEPCIONES

Hola amigo tienes mucha razon, las prisas han hecho que me expresara malamente. Mira te explico mas detalladamente, resulta que estoy haciendo un formulario de entrada para que me valide los usuarios en la base de datos, que bien cabe decir que es un SGBD FIREBIRD.
Bien la razon de mi pregunta no es saber como se hace, es facil, mi razon es que no se como controlar las excepciones que me tira la base de datos, mira tengo este codigo:

MAinForm.DBGlobal.Params.Values['USERNAME'] := txtNombre.Text;
MAinForm.DBGlobal.Params.Values['PASSWORD'] := txtPassword.Text;
conexion.Visible:=false;

try
MAinForm.DBGlobal.Open;
except
ShowMessage('Error abriendo la base de datos: cerrando aplicación');
Application.Terminate;
end;


pues resulta que cuando meto un nombre y un password que no estan en la base de datos el ODBC me tira una exception pero con el codigo que tengo aqui no consigo capturarlo para que no se aborte el programa.


SALUDOS.
Responder Con Cita
  #4  
Antiguo 17-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Cita:
Empezado por ronson
pues resulta que cuando meto un nombre y un password que no estan en la base de datos el ODBC me tira una exception pero con el codigo que tengo aqui no consigo capturarlo para que no se aborte el programa.
Pero si tu mismo le dices que aborte!!!

Cita:
Empezado por ronson
Código:
   try
     MAinForm.DBGlobal.Open;
   except
     ShowMessage('Error abriendo la base de datos: cerrando aplicación');
     Application.Terminate;
   end;
Responder Con Cita
  #5  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Da Un Error Y No Se Acaba La Aplicacion

A ver, cuando se produce el erro EDBEngineError no se acaba la aplicacion y santas pascuas sino que da un error sale otra ventana con un icono rojo diciendome que el ODBC ha generado una exception de ese tipo y que se me va a cerrar la aplicacion, pero no me hace caso del mensaje uqe digo que salgqa por pantalla, es mas si le quito el Aplication.terminate sigue haciendo lo mismo.

He probado con

try

...

except

E: EDBEngineError on



pero no me funciona dice que EDBEngineError no esta decxlarada:



Responder Con Cita
  #6  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
ALGUIEN ME AYUDA CON EDBEngineError

ESTOY ATASCADISIMO POR QUE ME HE IMPLEMENTADO UN FORMULARIO PARA LOGEARME EN UNA BASE DE DATOS Y RESULTA QUE TODO FUNCIONA AL PELO MENOS CUANDO METO UN NOMBRE O UN PASSWOORD QUE NO EXISTE EN LA BASE DE DATOS, ME DA UN ERROR

EDBEngineError INTENTO COGERLO Y NO ME FUNCIONA:

try
MAinForm.DBGlobal.Open;
except
on E: EDBEngineError do
ShowMessage('Error abriendo la base de datos: cerrando aplicación');


end;


QUE ES LO QUE ESTOY HACIENDO MAL?

TAMBIEN HE PROBADO CON:

try
MAinForm.DBGlobal.Open;
except
ShowMessage('Error abriendo la base de datos: cerrando aplicación');

end;

y tampoco me funciona.

SALUDOS!!
Responder Con Cita
  #7  
Antiguo 17-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Primero de todo, recomendarte la lectura de la guía de estilos (ver firma). En ella verás que se dice que no se ha de preguntar en hilos diferentes la misma cosa. Si tu tienes abierto este hilo con tu problema, no lo preguntes en otros hilos de otros compañeros ni abras de nuevos, ya se te responderá aquí si alguien lo sabe.

Por otra parte, qué significa que no te funciona? Estás ejecutando desde dentro del IDE o desde fuera?
Responder Con Cita
  #8  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Lo Siento Soy Nuevo

Lo siento es que soy nuevo en el tema, estoy ejecutandolo desde el entorno de programacion DELPHI, es normal entonces que me de el error?, si sigo depurando entonces si que continua la ejecucion del programa pero sino no.

Estoy volviendome loco tio, me gustaria que ignorara el error y simplemente no hiciera nada, si el usuario o el password no es valido que lo ignorara y ya esta.

MUCHAS GRACIAS Y LO SIENTO.
Responder Con Cita
  #9  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Mira La Imgen

Esto es lo que me sale para ser mas exactos.
se me interrumpe el progrma sale esto y luego si le doiy a step o al play continua la cosa.



[img]c:error.jpg[/img]
Responder Con Cita
  #10  
Antiguo 17-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Ya Estaaaaaaaaa

Tienes Razon si lo ejecutas desde el IDE entonces lo que pasa qes que te sale el errosr. pero si lo ejecutas desde el directorio donde esta el .exe todo va de maravilla, muchas gracias por tu ayuda, espero que no te haya dado mucho el follon.

Por cierto donde puedo encontrar informacion acerca de los procedimientos almacenados.

gracias.


Nos vemos.
Responder Con Cita
  #11  
Antiguo 17-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Si ejecutas desde dentro del entorno de Delphi, es normal que te salte la excepcion. SIEMPRE te saldran todas las excepciones a no ser que tu configures el Delphi para que no lo haga Tools - Debugger Options - Stop on Delphi Exceptions

No obstante, recomiendo que, en entorno de desarroyo, las excepciones salgan así se puede ver dónde y por qué falla el programa. Para comprovaciones, sólo hay que ejecutar el exe generado por Delphi

Otra buena costumbre es mostrar un mensaje personalizado pero mostrando el mensaje de error original

Código:
try
  // sentencias que pueden provocar fallos
except
  on E: Exception do
    ShowMessage('Error en la aplicación. Mensaje de error:'#13#13 + E.Message);
end;
Espero te sirva

PD: Quedas perdonado
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


La franja horaria es GMT +2. Ahora son las 23:41:48.


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