Funcion Locate
Hola a todos!
Tengo que hacer la administracion de usuarios de mi sistema. Y quiero asignarle distintos permisos a cada uno, el problema es el siguiente: Cuando el usuario todavia no esta cargado en la tabla permisos, lo agrega y le carga los permisos correspondiente. Ahora, cuando el usuario ya tiene permisos asignados y se los quiero modificar me da error de clave repetida. Lacuestion es que yo uso el locate para posicionarme en el registro del usuario, pero siempre me da "Falso" como si no existiera, pero existe... pongo el codigo: Espero que me puedan ayudar...Gracias |
Hola laukri
Tu campo nombre no debería ser idUsuario, o es que en la otra tabla el IdUsuario es el nombre de la primera. Saluditos |
gracias por tu pronta respuesta.
Tengo 2 tablas: usuarios y premisos. en la primera tengo los campos "nombre" y "clave" y en la segunda "idUsuario" y todos los permisos. Saludos |
Cita:
Código:
Tabla usuarios Ahora también has la prueba de trabajar directamente con el DataSet que esta asociado a tu DataSource (Tu query o tu table), en vez de hacer ds.DataSet.FieldByName, si fuera un Query entonces haces Query1.FieldByName. Con que componentes estas trabajando??
porque haces el Cast a un TClientDataSet?? Saluditos |
Hola laukri.
Yo en tu lugar no usaria el campo nombre como clave en la tabla de permisos por la simple razon que puede haber varias peronas de nombre "Juan" por ejemplo. Es ahi donde surge el error de "clave duplicada". Yo asociaria ambas tablas con campo numerico autoincrement para asegurarme que cada nuevo usuario tienen una clave nueva y distinta al anterior. Por otro lado el problema del Locate que no te devuleve nada puede venir del Cast que haces cuando realizas la consulta ya que aunque tuvireas 100 usuarios con nombre (y clave) "Juan" deveria traerte el primero que encuentra. Saludos ! |
GRacias por sus respuesta voy a probar lo que me han marcdo y despues les cuento.
Trabajo con los componentes dbexpress |
Le agregue un campo a la tabla usuarios y quedo:
Código:
tabla usuarios GRacias a Todos por su ayuda
|
La franja horaria es GMT +2. Ahora son las 23:44:46. |
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