FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
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 |
#2
|
||||
|
||||
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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#3
|
||||
|
||||
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 |
#4
|
||||
|
||||
Cita:
Código:
Tabla usuarios nombre | clave ---------------- Maria | xxxx Jose | xxxx Tabla permisos idUsuario | DemasCampos ---------------------- Maria | xxxxxxxxxxx Jose | xxxxxxxxxxx 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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#5
|
|||
|
|||
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 ! |
#6
|
||||
|
||||
GRacias por sus respuesta voy a probar lo que me han marcdo y despues les cuento.
Trabajo con los componentes dbexpress |
#7
|
||||
|
||||
Le agregue un campo a la tabla usuarios y quedo:
Código:
tabla usuarios idUser | nombre | clave GRacias a Todos por su ayuda
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Todo sobre la función Locate | Alexandro | Conexión con bases de datos | 7 | 24-05-2008 18:19:33 |
Locate | mauqu | Varios | 9 | 06-08-2007 17:27:20 |
Cómo se usa la función Locate? | Javi2 | Varios | 4 | 25-04-2007 10:52:00 |
Pregunta sobre la funcion LOCATE()? | Luis Alberto | Varios | 6 | 16-12-2005 00:02:55 |
Error con la funcion "locate" de una tabla | tannyk | Tablas planas | 1 | 01-02-2005 07:07:41 |
|