Planner Delphi

Тема в разделе "Другие языки", создана пользователем AndreyD2, 23 июн 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. AndreyD2

    AndreyD2

    Регистр.:
    21 окт 2008
    Сообщения:
    195
    Симпатии:
    67
    В компоненте TDBPlanner есть возможность в строках задать время, в колонках дата автоматически проставляется(каждая колонка новая дата).

    Есть две таблицы Сотрудник, Запись.
    Как можно задать в колонках не дату, а сотрудника. В строках остается время. Данные долджны браться из таблиц.
    Перерыл кучу примеров - нет ничего(((
     
  2. Sailos

    Sailos Писатель

    Регистр.:
    10 май 2009
    Сообщения:
    7
    Симпатии:
    2
    Для хранения данных чаще всего используются СУБД(системы управления базами данных), в 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 способен ее распознать и работать как с таблицей базы данных...

    Более детальная информация
    http://kgcoder.org/index.php?option=com_content&task=view&id=325&Itemid=52
     
  3. jik

    jik

    Регистр.:
    11 мар 2009
    Сообщения:
    243
    Симпатии:
    133
    У меня в коллекции не нашлось такого компонента, но, посмотрев на скриншот примера использования компонента здесь: http://www.realcoding.net/downloads/tdbplanner-2515-delphi-2006.html, пришел к выводу, что заменить даты в колонках на сотрудника нельзя. Как вариант, разместить сотрудников можно на тулбаре над календарем, как размещены комнаты (meeting rooms) на скриншоте.
     
    AndreyD2 нравится это.
Статус темы:
Закрыта.