[RESUELTO] niveles de acceso a una aplicacion
#21
Escrito 14 enero 2010 - 12:49
Saludos,
#22
Escrito 14 enero 2010 - 02:08
asi quedo el codigo
procedure TFLogin.BtnOkClick(Sender: TObject); begin LoginOK := False; ADLogin.Parameters.ParamByName('nom').Value:= EUsuario.Text; ADLogin.Active:= True; EUsuario.Text:= ADLogin.Fields[0].AsString; If ADLogin.RecordCount < 1 then Begin Cuenta := Cuenta + 1; MessageDlg('Usuario no encontrado',mtError, [mbOK], 0); EUsuario.Text := ''; EClave.Text := ''; ADLogin.Active := False; If Cuenta = 3 then Close; end else If ADLoginpass.AsString = EClave.Text then Begin LoginOk := True; Usuario := ADLoginlogin.AsString; Acc:= ADLoginacceso.AsString; ADLogin.Active := False; principal:=principal.Create(self); try FLogin.Visible:= False; principal.ShowModal; finally principal.Free; end; Close; end else Begin Cuenta := Cuenta + 1; MessageDlg('Clave Inválida',mtError, [mbOK], 0); EClave.Text := ''; ADLogin.Active := False; If Cuenta = 3 then Close; end; end;
cual es la diferencia entre que ste codigo ste en 0 o 1?
EUsuario.Text:= ADLogin.Fields[0].AsString;
0 apunta a login y 1 a pass?
#23
Escrito 14 enero 2010 - 02:59
Saludos.
#24
Escrito 14 enero 2010 - 07:44
Pues segun entiendo, la clave es invalida, eso quiere decir dos cosas:
1-No es la clave correcta
2-No encuentra el dato en la bd.
Saludos
#25
Escrito 14 enero 2010 - 08:16
es decir... usuario juan..pass juan y asi pepe pepe
y le cambie las contraseñas y antubo .... no entiendo...alguna idea?
#26
Escrito 14 enero 2010 - 08:20
Pues no tiene logica.
Si busca en la tabla, pueden ser exactos, que no pasaría eso.
Es raro.
Saludos
#27
Escrito 15 enero 2010 - 08:51
me consulta es la siguiente....
1-por cada form que yo haga para trabajar con las distintas tablas(usuarios,articulos,negocios) de la Base de Datos tengo q crear un ADDOCONECTON? o se puede mantener uno en general para todo el sistema de que despues lo demas componentes hagan referencia a ese addoconection?
es decir..en algunos programas hechos en delphi; que stoy usando como ejemplo, definen un archivo .txt
en dond sta la direccion de la base de datos..pero la verdad nose como funciona...o como el sistema trabaja con ese archivo...
yo stoy usando SQLSERVER...seria lo mismo? a simple vista me parece que no...
muchas gracias!
#28
Escrito 15 enero 2010 - 08:58
#29
Escrito 15 enero 2010 - 11:18
la primera vez que hizo la coneccion con la base de datos me pidio un usuario y contraseña para conectarse con la BD sqlserver y le puse usuario "sa" y pass "sa" ,que fue un usuario que yo defini en los permisos de la base de datos...para que el usuario "sa" pueda usar la BD "indice" de SQLSERVER se entiende?
y andubo perfecto...pero ahora cada vez que ejecuto para probar el programa me tira un mensaje
"Missing conection or ConecctionString" y le doy OK y despues inicia la aplicacion de modo normal...alguna idea??
#30
Escrito 15 enero 2010 - 11:24
En sql server no se define un Path de base de datos, lo que se hace es definir una cadena de conexión que le indica a ADO el nombre del servidor, el usuario, su password y la base de datos a utilizar.
Para hacerlo debes darle click en la propiedad conecctionstring del AdoConection y te aparecerá el asistente.
Saludos
#31
Escrito 15 enero 2010 - 11:55
bueno stoy usando dos addoconection ...uno que sta en la ventanita de login y el otro en el datamodule? sta bien asi? o tendria q quedar solo con el de datamodule?
#32
Escrito 15 enero 2010 - 12:48
hola polirrubo gracias por tu ayuda...bueno ...el adoconection sta en un datamodule...eso tendra q ver en algo?
bueno stoy usando dos addoconection ...uno que sta en la ventanita de login y el otro en el datamodule? sta bien asi? o tendria q quedar solo con el de datamodule?
No amigo, no importa donde estén los adoconnection. podrías copiar la propiedad Connection string de ambos componentes y pegarla aquí? para tener una idea más clara del problema.
#33
Escrito 15 enero 2010 - 01:42
hola polirrubo gracias por tu ayuda...bueno ...el adoconection sta en un datamodule...eso tendra q ver en algo?
bueno stoy usando dos addoconection ...uno que sta en la ventanita de login y el otro en el datamodule? sta bien asi? o tendria q quedar solo con el de datamodule?
No amigo, no importa donde estén los adoconnection....
Pues no estoy tan seguro, por que si dices que una esta en la vetana de login ha de ser por que el datamodule se crea hasta despues de que te logeaste, y si intentas hacer uso del adoconnection que esta en el datamodule, te regresara un accesviolation, supongo que por eso estan esos dos adoconnections, ahora lo que yo puedo imaginar, es que uno de los adoconnection, no tiene definida su propiedad connectionstring, si es asi, te recomendaría que le pusieras la mismas propiedades a los dos adoconnections.
Saludos
#34
Escrito 15 enero 2010 - 04:32
conectionString= Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=indice;Data Source=ABRAHAM\SQLEXPRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=ABRAHAM;Use Encryption for Data=False;Tag with column collation when possible=False
y en el asistente le puse "Usar seguridad integrada con WinNT"
pero cuando le doy RUN o PLAY aun asi siguen tirando un mensaje
despues le doy OK y me marca sta linea de codigo
program Indice; uses Forms, Unit1 in 'Unit1.pas' {principal}, UFLogin in 'UFLogin.pas' {FLogin}, UUsuarios in 'UUsuarios.pas' {FUsuarios}, UDataModule2 in 'UDataModule2.pas' {DataModule2: TDataModule}; {$R *.res} begin Application.Initialize; Application.CreateForm(TFLogin, FLogin); Application.CreateForm(Tprincipal, principal); Application.CreateForm(TFUsuarios, FUsuarios); Application.CreateForm(TDataModule2, DataModule2); {ESTA LINEA ME MARCA} Application.Run; end.
y despues me aparece el mensaje "Missing conection or conectionString" y ahi le doy Ok
y me arranza la aplicacion con la ventanita de login , le pongo el usuario y pass y arranca el sistemita
y puedo acceder a los fomrs y usar los adotable con los Dbnavegator para ver las tablas y anda todo bien
alguna sugerencia? sera q tengo q tocar algo en el SQLSERVER managment?
muchas gracias a todos
#35
Escrito 15 enero 2010 - 04:36
#36
Escrito 15 enero 2010 - 04:39
Saludos
#37
Escrito 15 enero 2010 - 04:59
gracias..ya ddespues lo molesto con otras cosas mas...stoy aprendiendo y sta bueno delphi..hehehe
un abrazo amigos
#38
Escrito 15 enero 2010 - 05:04
Tengo entendido que el datamodule debe crearse primero ... y si es así (corríjanme por favor), deberías mover la línea:
Application.CreateForm(TDataModule2, DataModule2);
Del .pdr, al comienzo, después de Initialize:
Application.Initialize; Application.CreateForm(TDataModule2, DataModule2); ...
Saludos,
#39
Escrito 15 enero 2010 - 05:24
ahora mi consulta es la siguiente:
yo en el Modulecreate no le puse nada...ningun archivo INi ni nada d eso....
eso afecta en algo el rendimiento con la Base de datos?
hay alguna manera de hacer bonitos los forms o patrones de diseño para los forms? hehehehe
hacer los forms me salen feos...
o nose hay alguan manera de mejorar el aspecto de la aplicacion cambiandoles el
aspecto? en java tenia para modifcar el LookAndFeel y con un paquete cambiana el aspecto
de toda la aplicacion..botones, mensajes, etc etc
un abrazo!