dean.m.johnson Ответов: 3

Привет, в настоящее время я делаю систему, основанную на назначениях, для моего проекта последнего года


Секретарь выберет имя пациента, которое загружается в раскрывающийся список, затем выберет дату в календаре, а затем выберет ячейку из другого раскрывающегося списка, в котором отображаются ячейки ... оба раскрывающихся списка получают свои данные из базы данных ... я бы хотел чтобы иметь функциональность, при которой раскрывающийся список слотов загружается только с доступными слотами для этого конкретного дня, поэтому, когда администратор выбирает дату, слот ddl while проверяет уже назначенные встречи и проверяет, какие слоты заняты на этот конкретный день, а затем отображать только доступные слоты ... может ли кто-нибудь дать мне какие-либо идеи о том, как я могу это сделать? Я использую asp.net и ado.net
// ниже приведен код, который я использовал для заполнения слотов.

частная пустота BindddlSlot()
{

DataTable dt = новый DataTable();

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings ["AppointmentConnectionString"].Параметр connectionString);

пробовать
{
Коннектикут.Открыть();
string query = " SELECT SlotId, Slot FROM Slot";
Команда sqlcommand ком = новый sqlcommand, который(запрос, соед);
SqlDataAdapter da = новый SqlDataAdapter (com);

да.Заполнить(ДТ);

если (ДТ.Строк.Граф > 0)
{
ddlSlot.Источник данных = ДТ;
ddlSlot. DataTextField = " слот";
ddlSlot. DataValueField = " SlotId";
ddlSlot.Привязку();



}
}
поймать (системы.Данных.Sqlclient как.Sqlexception исключая)
{
строка msg = " ошибка выборки:";
сообщение += ех.Сообщение;

}
наконец
{
Коннектикут.Закрывать();
}
}

Что я уже пробовал:

я пробовал использовать циклы for, но безуспешно.

3 Ответов

Рейтинг:
2

Peter Leow

Одной из очень важных и сложных частей разработки программного обеспечения является правильный дизайн базы данных. После сбора и анализа требований пользователя следующим шагом является разработка базы данных, которая может хранить данные, необходимые или сгенерированные из этих требований, а также облегчать выполнение таких требований с помощью последующего кодирования. Если база данных не будет хорошо спроектирована и тщательно продумана, ваш код застрянет где-то позже.
Переходя к вашей проблеме, я с удовольствием приведу следующий пример:
слот-стол:

slot_id(PK)   slot_from_time   slot_to_time
1             13:00:00         14:00:00
2             14:00:00         15:00:00
3             15:00:00         16:00:00

таблица назначение
appt_id    appt_date     slot_id(FK to slot table)    other-fields
1          2016/11/3            1                         ...	
2          2016/11/3            3                         ...	

В вашем SQL вы можете затем извлечь из таблицы слотов те slot_id, которые не существуют в таблице встреч, где [дата, выбранная администратором]=appt_date.


Рейтинг:
1

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Тебе нужно Пример каскадного выпадающего списка AJAX в ASP.Net[^].


Рейтинг:
1

Karthik_Mahalingam

Вы должны передать значение даты методу и запросить таблицу слотов таким образом, чтобы она возвращала доступные слоты,

SELECT SlotId, Slot FROM Slot where ....."; -- where query to  check the slot available