hola
en principio esto lo lograrias si armas correctamente si generas las consultas sql correctas
la verdad desconozco la estructuras de las tablas, pero calculo que un campo debe registrar la hora del turno, no se si esta hora la ingresa de forma libre el usuaurio o si hay un cmbo de opciones de horas
pero podrias hacer una validacion al momento de guardar, o podrias listarle al usuario los turnos par auna fecha selecionada, en realdiad si los listas no debes filtrar por usuario sino que debes mostrar todos en ese turno aunque sea en solo lectura
una consulta como ser
SELECT Count(*) FROM <tabla de turnos> WHERE <campo hora turno> = 9 Este seria un query simple que me imagino faltaria filtrar por especialidado por doctor, y fecha del dia seguramente
pero a lo que voy es que simplemente si ese query que armas devuelve mas de 5 registros le muestras el cartel de validacion
Cuando usar ExecuteNonQuery o ExecuteScalar Te recomiendo que si ejecutas una consulta del tipo Count, y solo devuelves ese valor que uses el ExecuteScalar.
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina