Delphi - Consulta sql filtrada en dbcombobox

 
Vista:

Consulta sql filtrada en dbcombobox

Publicado por maria belen (33 intervenciones) el 20/10/2016 17:32:36
Hola buenas tardes soy nueva en esto de delphi. Estoy trabajando con un formulario en el cual realizo altas de usuario cada usuario guarda el id de un empleado que es el que se le asigna la cuenta a crear. la aplicacion esta realizada en delphi 2010 y uso componentes query de zeos y mysql-5 para la base de datos.
estructura de la tabla de usuario
tabla usuario
nombre
pass
idusuario
idempleado
en el formulario de alta de usuario tengo 2 tedit para asginar el nombre y la contraseña y un dbcombobox en el cual traigo los empleados de la tabla empleado. lo que necesito ahora es cuando doy click al boton aceptar
es comparar si ese empleado ya tienen asignada una cuenta de usuario si es asi muestro un mensaje que diga que ya posee una cuenta de caso contrario doy el alta
no entiendo todavia como puedo recorrer el query y usar un if para hacer esta pregunta alguna ayuda ?
desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Consulta sql filtrada en dbcombobox

Publicado por E.T. (1244 intervenciones) el 20/10/2016 18:00:12
Lo que yo haria en este caso, es filtar el dbcombobox, ligandolo desde un query (que creo que asi lo haces ya), en tu query poner algo como lo siguiente:
1
2
3
4
5
6
7
8
//este query es el que esta enlazado a tu combobox
queryEmpleados.close;
queryEmpleados.sql.clear;
queryEmpleados.sql.add('select e.nombre from empleados e');
queryEmpleados.sql.add('left join usuario u on u.idempleado = e.idempleado');
queryEmpleados.sql.add('where u.idempleado is null');
queryEmpleados.open;
//de esta forma, el combobox solo mostrará a los empleados que no tienen cuenta asignada
y cuando crees una nueva cuenta, solo hay que darle un refresh al query o cerrarlo y abrirlo de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar