Planner Delphi

Статус
В этой теме нельзя размещать новые ответы.

AndreyD2

Гуру форума
Регистрация
21 Окт 2008
Сообщения
196
Реакции
72
В компоненте TDBPlanner есть возможность в строках задать время, в колонках дата автоматически проставляется(каждая колонка новая дата).

Есть две таблицы Сотрудник, Запись.
Как можно задать в колонках не дату, а сотрудника. В строках остается время. Данные долджны браться из таблиц.
Перерыл кучу примеров - нет ничего(((
 
Для хранения данных чаще всего используются СУБД(системы управления базами данных), в ASP.NET 2.0 работа с данными происходит через ADO.NET 2.0– часть .NET, разработаная специально для доступа к базам данных или XML-файлам.
Для наглядности рассмотрим эти понятия на примере. В свое время я работала с базой данных кадров одного предприятия. Как создать такую базу? Прежде всего нам нужна таблица для хранения данных о сотрудниках.



ID Имя Фамилия Отчество Дата рождения Дата приема Должность
1 Петр Васечкин Иванович 1965 2001 Завхоз
2 Василий Петров Сидорович 1977 2003 Программист


и так далее. Таблица может иметь тысячи записей.

Отделу кадров нужна информация о перемещениях сотрудников. Для этого заведена отдельная таблица. Например, Петров получил должность старшего программиста. Прежде всего надо заметить, что названий должностей ограниченное количество. Чтобы избежать дублирования, лучше их хранить в отдельной таблице.

Должности


ID Название должности Минимальный оклад
1 Директор 1
2 Завхоз 10
3 Программист 20
4 Уборщица 100


Числа в левой колонке – это ключи. Они нужны, чтобы связать таблицы друг с другом. В таблице «Сотрудники» теперь будет храниться не название должности, а его ключ в таблице должностей. Для таблицы «Сотрудники» он называется внешним ключом, а для таблицы «Должности» - первичным ключом. Ключ также необходимо ввести в таблице сотрудников. Перемещение сотрудника на другую должность будет храниться в таблице перемещений так.

Перемещения


ID Сотрудник Должность Назначение Дата
1235 123 10 11 20.06.06


Таблица «Должности» связана как с таблицей сотрудников, так и с таблицей перемещений по своему уникальному ключу. База данных может генерировать первичные ключи сама, автоматически добавляя значения к предыдущему значению ключа. Это называется автоинкрементированием. Для полной уверенности в уникальности данных в таблицах могут держать точное время создания записи(Timestamp) и GUI(глобальный уникальный идентификатор).

Этот процесс называется нормализацией. Чтобы для отчета восстановить информацию о перемещении, в запросе нужно связать данные из разных таблиц.

В результате этого запроса будет создано представление, которое покажет данные из взаимосвязанных таблиц в удобной для чтения форме:



SELECT Employees.LastName, Employees.FirstName, Titles.Title, Titles_1.Title, Promotions.PromotionDate FROM Titles AS Titles_1 INNER JOIN ((Promotions INNER JOIN Titles ON Promotions.TitleBefore = Titles.id) INNER JOIN Employees ON Promotions.EmployeeID = Employees.EmployeeID) ON Titles_1.id = Promotions.TitleAfter;


Множество таблиц данных, связанных отношениями, составляют базу данных. На сервере СУБД может храниться множество баз данных.

Подробнее о теории баз данных можно прочитать в других курсах. Перейдем к конкретным примерам связывания с базами данных на веб-страницах.

У каждого пользователя Windows наверняка имеется программа Access. Это однопользовательская СУБД, в которой модель безопасности не так сильна. В одном файле Access хранятся как данные, так и интерфейс в виде форм и отчетов. Можно создавать модули на VBA (Visual Basic for Application). Профессиональные разработчики пользуются более мощными программами. По «серьезности» СУБД от Microsoft идут в порядке – Access – FoxPro – MS SQL. MS SQL не позволяет создавать формы, а занимается хранением и защитой данных на профессиональном уровне. Visual Studio 2005 (и VWD) при инсталляции устанавливает MS SQL Express. Он будет запускаться автоматически в виде сервиса Windows.

Для работы с базами данных используется язык структурированных запросов – SQL (Structured Query Language). Команды этого языка называются запросами. Запросы служат для получения данных, для создания и изменения структуры таблиц, добавления, удаления и обновления записей и многого другого. Последовательность команд может храниться прямо на сервере СУБД в виде хранимой процедуры. Нужно стараться всегда пользоваться хранимыми процедурами, а не писать команды самим. Главное их преимущество – скорость работы и инкапсуляция бизнес-логики. Хранятся они на сервере в уже откомпилированном виде, в то время как простой переданный набор команд SQL проходит через стадию компиляции.

Для обращения к базам данных из внешних программ существуют специальные механизмы. В Windows это ODBC - открытый интерфейс взаимодействия с базами данных. Он позволяет приложениям, работающим под Windows или другими ОС, общаться с различными серверами реляционных баз данных.

Для конфигурирования источников данных на вашем компьютере зайдите в Control Panel, Administrative Tools, Data Sources(ODBC).

Мы видим, что ODBC при наличии нужного драйвера позволяет связываться с различными базами данных – Access, FoxPro, Oracle, Microsoft SQL, MySQL, SAP, DB2. Если в файле Excel создать именованную таблицу, ODBC способен ее распознать и работать как с таблицей базы данных...

Более детальная информация
Для просмотра ссылки Войди или Зарегистрируйся
 
У меня в коллекции не нашлось такого компонента, но, посмотрев на скриншот примера использования компонента здесь: , пришел к выводу, что заменить даты в колонках на сотрудника нельзя. Как вариант, разместить сотрудников можно на тулбаре над календарем, как размещены комнаты (meeting rooms) на скриншоте.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху