« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга


ПнВтСрЧтПтСбВс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
    Популярное
Использование метода"перенести-и-оставить"для перемещения объектов

MailBomber на Delphi

Анализ данных с помощью сводной таблицы

Функция AccessResource

Delphi и Flash

6-й час. Основные типы данных: последовательности и словари

Основные виды и источники атак на информацию

Форма приложения

Использование делегатов в асинхронном программировании

Файловые функции DELPHI. Файловые операции средствами ShellApi.




    Архив файлов



    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 210
Пользователей: 0

Статьи:: Delphi :: Delphi & SQL :: Урок 1. Инструменты от Borland. Инструменты для работы с базами данных, поставляемые вместе с Delphi.



отправить ссылку другу версия для печати  Обсудить на форуме

Урок 1. Инструменты от Borland. Инструменты для работы с базами данных, поставляемые вместе с Delphi.



Delphi

Delphi & SQL

Автор: Сергей Катков salkat@aip.mk.ua

Урок 1. Инструменты от Borland. Инструменты для работы с базами данных, поставляемые вместе с Delphi.

Для работы с базами данных нам понадобятся инструменты. Во-первых, это сам Delphi. ;) Во-вторых это Database Desktop, с помощью которого можно создать таблицу и задать ее свойства. В-третьих это SQL Explorer, который позволяет просматривать данные в таблицах, как подряд, так и выборочно. В третьих это SQL Monitor, позволяющий рассмотреть в деталях, как выполняются наши запросы к ODBC. ODBC мы будем использовать при подключении в MS SQL Server'у, тогда и воспользуемся им. И, наконец, BDE Administrator и DataPump, которыми мы будем пользоваться довольно-таки редко, но знать о них необходимо.


Database Desktop

Database Desktop - программа, с помощью которой мы и будем создавать таблицы Paradox, а так же менять их структуру в последствии. Вообще, Database Desktop применяется не только для этого, но обо всем по порядку.

Для того чтобы создать таблицу следует выбрать пункт File ->New -> Table. При этом вас спросят, какого типа таблицу вы собираетесь создавать (Paradox 7). Нажмите OK, и приступим к собственно созданию таблицы. Первыми у нас будут идти поля, составляющие первичный ключ. Эти поля всегда располагаются в начале таблицы. Чтобы указать, что поле входит в первичный ключ надо в свойстве Key этого поля поставить <*>. Это можно сделать нажатием пробела, когда курсор установлен в этот столбце, или правой кнопки мыши. Рекомендую для первичного ключа создавать специальное поле типа Autoincrement - так называемый <суррогатный ключ>. Преимуществ у этого подхода несколько. Подробнее об этом читайте в статье "Естественные ключи против искуственных ключей". Возможно, конечно, создание таблицы вообще без ключей и индексов, но в дальнейшем они нам пригодятся, так что следует все-таки их (ключевые поля) создать.

Итак, первым вводим ключевое поле. Можем назвать его KeyField, или по другому, кому как нравится. Тип ему поставим "+", т.е. Autoincrement. Чтобы указать тип поля можно нажать пробел. Выпадет список всех возможных значений типа. У каждого есть горячая клавиша. В дальнейшем удобнее пользоваться именно ими.

Для поля этого типа длина не задается, поэтому при нажатии Tab мы перескакиваем сразу в колонку Key. Нажмем в ней пробел, указав, таким образом, что это поле входит в первичный ключ.

Следующим полем пусть у нас будет символьное. В колонке Type будет отображено <A> (от &ltAlpha>), а не <S> (от &ltString>), как можно было бы подумать. &ltS> означает &ltShort>, т.е. короткое целое, не путайтесь. Для символьного поля уже следует задать длину в колонке Size. Строк переменной длины не предусмотрено, поэтому следует сразу указать необходимое число символов. В дальнейшем увеличение длины поля может вызвать неудобства в виде перекомпиляции проекта (это зависит от способа обращения к полям). Это связано с тем, что Delphi изменение длины символьного поля рассматривает как изменение типа. Посмотрите на рисунок, здесь показана как раз эта стадия создания таблицы.

 

Вообще, названия типов говорят сами за себя, подробнее рассматривать, наверное, смысла нет. Добавлю только, из собственного опыта, что пользоваться полем типа <Money> неудобно. Оно требует к значению, которое вы собираетесь записать в такое поле, приписывать знак денежной единицы, причем такой, как определен в региональных настройках Windows.

После того, как мы создали структуру таблицы, самое время указать свойства языка. Для этого в справа вверху в выпадающем списке выбираем <Table language>. Нажмем <Modify>. Укажем значение Pdox ANSI Cyrillic. Это позволит нам правильно видеть и сортировать русскоязычные текстовые поля в таблице.

Создать вторичные индексы можно, выбрав в выпадающем списке, справа вверху пункт <Secondary Indexes> Они пригодятся нам при поиске и сортировке. Однако не стоит ими чрезмерно увлекаться: каждая операция записи данных в таблицу влечет за собой изменение индексов, при слишком большом их количестве и большой таблице это может заметно замедлить работу.

Среди других возможностей отметим защиту паролем ("Password security"), подстановку значений из зависимых таблиц, ("Table Lookup"), просмотр списка зависимых таблиц ("Dependent tables") и контроль ссылочной целостности ("Referential Integrity"). О последнем пункте подробнее. Когда у вас есть главная и подчиненная таблицы возможна ситуация, когда при удалении записей из одной таблицы, другая окажется без связанных значений. Контроль ссылочной целостности позволяет отследить такую ситуацию и запретить удаление. Подробнее об этом здесь.

Еще одна возможность Database Desktop - конструирование таблицы не только вышеописанным способом, но и с помощью SQL запросов, выбрав в меню File ->New -> SQL File. Подробнее о создании таблиц с помощью SQL запросов см. соответствующий урок.

Database Desktop для нас полезен также своим меню "Tools". Здесь можно создать псевдоним "Alias Manager:" (см. BDE Administrator), скопировать содержимое одной таблицы в другую "Utilities->Copy", очистить содержимое таблицы "Utilities->Empty table", просмотреть ее структуру "Utilities->Info structure" и другие возможности.

Примечательна возможность выборки данных в Database Desktop - QBE или Query by example - запрос на базе примера. Мастер позволит вам выбрать таблицу, на базе которой создается запрос, поля, значения которых должны попасть в результирующую таблицу, при необходимости объединить несколько таблиц, и все это просто щелкая мышкой. Однако если мы хотим считать себя профессионалами, знание SQL необходимо. QBE нам в этом поможет - то что мы нащелкали мышкой преобразуются в команды SQL, которые мы можем просмотреть нажав кнопку "Show SQL" на панели инструментов. Но для выборки данных мы чаще будем использовать


SQL Explorer

SQL Explorer. Это наиболее универсальный и часто используемый инструмент при работе с базами данных. С его помощью можно не только создавать псевдонимы БД, но и просматривать и, при необходимости, редактировать их содержимое. В окне SQL Explorer расположены главное меню, инструментальная панель и два рабочих поля -левое в закладками Database и Dictionary и правое с закладками Definition, Data и Enter SQL. Главное меню и инструментальная панель служат для управления утилитой и ее настройки. Левое поле в режиме отображения Database позволяет просматривать уже созданные псевдонимы и создавать новые, редактировать и уничтожать их. Здесь же можно просмотреть структуру БД, связанной с конкретным псевдонимом: входящие в нее таблицы, домены, представления, хранимые процедуры и т.д. В режиме отображения Dictionary левое поле открывает доступ к словарям БД. Закладки правого поля меняются в зависимости от того, какой компонент выбран в левом поле. В режиме Definition оно отображает определение или параметры выбранного компонента (таблицы, поля, хранимой процедуры и т.п.). В режиме Data можно увидеть содержимое таблицы, выбранной в левом окне. Режим Enter SQL предназначен для ввода SQL-операторов, их выполнения и отображения результатов выполнения. Рассмотрим некоторые, важные для нас, пункты меню SQL Explorer:
Dictionary - обслуживает словари, т.е. хранилища информации о базах данных и существующих в них объектах (таблицах, ограничениях, ссылочных целостностях и т.п.):

  • Select - открывает диалоговое окно Select a Dictionary для выбора одного из доступных словарей. Выбранный словарь становится активным словарем, доступ к объектам которого открывает левое поле в режиме Dictionary.
  • Register - заносит текущий словарь в список доступных словарей окна Select a Dictionary.
  • Unregister - удаляет регистрацию текущего словаря из списка Select a Dictionary.
  • New - создает новый словарь.
  • Delete - уничтожает текущий словарь.
  • Import From Database - импортирует в текущий словарь сведения об объекте.
  • Import From File - добавляет в текущий словарь сведения из файла, созданного опцией Export To File. Опция полезна для переноса словарей на машину другого разработчика.
  • Export To File - записывает в файл данные из текущего словаря.

[an error occurred while processing this directive]

Options определяют некоторые параметры утилиты:

  • Query - задает ограничители строк, предложений, комментариев в тексте запроса, а также определяет, будет ли возвращаемый НД изменяемый.
  • Transaction Isolation - устанавливает уровень разграничения транзакций.
  • Word Wrap - если отмечена, редактор ввода переносит текст запроса на новую строку, если очередное слово не умещается в рамке окна.
  • Show Confirmations - определяет, будет ли появляться диалоговое окно для подтверждения вносимых изменений.
  • Show Warnings - указывает, будет ли появляться диалоговое окно с предупреждением о возможной потере данных. Данные могут быть потеряны, например, при перемещении столбца на новое место, так как в этом случае запрос должен быть повторен с указанием нового порядка следования полей.
  • Sync Pages - переносит схемную информацию из выбранной БД в выбранный словарь при переключении с закладки Database на закладку Dictionary. Перед переносом появится диалоговое окно для подтверждения операции

С помощью SQL Explorer можно создавать новые псевдонимы БД ("Object->New"), изменять их параметры и уничтожать. Однако в отличие от BDE Administrator, утилита SQL Explorer не может изменить свойства всех однотипных псевдонимов или сделать общесистемные установки форматов.

Если раскрыть дерево метаданных для какой-нибудь базы данных, то можно увидеть все или некоторые (зависит от типа БД) из таких узлов:

  • Domains - домены;
  • Tables - таблицы;
  • Views - виртуальные таблицы (представления);
  • Procedures - хранимые процедуры;
  • Functions - функции, определенные пользователем;
  • Generators - генераторы;
  • Exceptions - исключения;
  • Blob Filters - BLOB-фильтры.

В состав метаданных локальных БД входят только таблицы.

Открыв, например, дерево "таблицы", можно увидеть список таблиц, выбрать какую-нибудь можно щелкнув по ней мышкой. При этом в правом окне отобразится детальная информация об этой таблице, такая как: тип, язык, Версия, дата и время последней модификации, и др., в зависимости от типа таблицы. Перейдя на закладку "Data" можно увидеть содержимое этой таблицы, а на закладке "Enter SQL" ввести SQL-запрос и выполнить его. Этой возможностью мы будем часто пользоваться в дальнейшем.


BDE Administrator

BDE Administrator предназначен для создания псевдонимов баз данных и настройки их свойств. В начале урока я упомянул, сто пользоваться им нам придется редко. Это потому, что, обычно, им приходится пользоваться один-два раза за все время разработки проекта.

Создать псевдоним (Alias, в терминах Delphi) можно выбрав в меню Object пункт New. В появившемся окне выбрать тип базы данных - STANDARD для баз данных формата Paradox (.db) и dBase/FoxPro/Clipper (.dbf), INTRBASE для баз данных Interbase и т.д. Обратите внимание, что в этот список также включены все установленные в вашей системе драйвера ODBC. А так же на то, что если у вас уже есть настроенные ODBC-соединения, то они так же будут отображены в списке псевдонимов. Т.е. налицо полная поддержка ODBC через DBE. О том, что нам это дает, мы поговорим позже.

 

После задания типа базы данных надо ввести имя псевдонима в левом окне, и задать свойства в правом окне. Набор свойств зависит от выбранного типа базы данных. Для простейшего случая - локальная таблица Paradox - здесь только путь, где будут располагаться наши таблицы. Это позволяет нам при переносе программы расположить ее в любой папке, а потом только указать путь к ней в BDE Administrator. Но это уже тогда, когда вы закончите разработку и будете устанавливать свой проект клиенту. А до этого еще далеко:

Заметим еще, что создать псевдоним можно не только с помощью BDE Administrator'а, но и с помощью Database Desktop'а и SQL Explorer'а.

В левом окне на закладке Configuration можно найти еще одно дерево с параметрами. На этот раз речь идет не о параметрах подключения, а о параметрах BDE.

В узле Drivers этого дерева настраиваются параметры драйверов баз данных, как встроенных в BDE (Native), так и заимствованных из ODBC.

Рассмотрим параметры драйвера Paradox, так как этих таблицах мы будем рассматривать однопользовательский подход к проектированию баз данных:
 

  • NET DIR - Местонахождение файла PDOXUSRS.NET. Для файл-серверной архитектуры необходимо, чтобы он указывал на сетевой, доступный всем пользователям, диск.
  • LangDriver - Название таблицы символов, определяющая набор символов, используемый в таблице и порядок их сортировки. Для русского языка следует установить Pdox ANSI Cyrillic
  • Level - номер версии Paradox, в формате которого BDE создает временные таблицы. Ставим 7
  • Block Size - размер блока, выделяемого за раз при заполнении таблиц. Для Level =7 возможные значения будут 1024, 2048, 4096, 16384 и 32768. Оставим 2048, по умолчанию.
  • Fill Factor - на сколько процентов должна быть заполнена таблица данными, чтобы BDE выделил еще блок. Уменьшение этого параметра повысит быстродействие, но увеличит размеры индексом. Оставим 95, по умолчанию.
  • STRICTINTEGRTY - определяет, будет ли BDE следить за ссылочной целостностью. Оставим TRUE.

К MS SQL Server'у можно подключиться и через BDE, и через ODBC. Рассмотрим оба варианта
Некоторые параметры драйвера MSSQL

  • BATCH COUNT - количество записей, которое накапливает BDE перед сбросом на сервер. При явном завершении транзакции данные будут сброшены не дожидаясь накопления.
  • BLOB EDIT LOGGING - включает/выключает регистрацию изменений полей BLOB (Binary Large Object) в журнале транзакций SQL Server'a. Установка этого параметра в False выключит регистрацию и увеличит производительность, однако это потребует также изменения настройки SQL Server'a, в частности установки параметра BULKCOPY в ON. Оставим этот параметр пока в TRUE.
  • DATABASE NAME - имя базы данных на сервере, к которой мы собираемся подключаться.
  • CONNECT TIMEOUT - количество секунд, которое BDE ожидает ответа сервера. Если за это время соединение установить не удалось, выдается сообщение о невозможности связаться с сервером.
  • MAX QUERY TIME - время в секундах, в течении которого ожидается выполнение запроса. Если запрос выполняется дольше, то он считается зависшим и ожидание прекращается. Такая ситуация может возникнуть при плохой связи, перегрузке сервера, а как же из-за мертвых блокировок.
  • LANGDRIVER - Название таблицы символов, определяющая набор символов, используемый в таблице и порядок их сортировки. Для русского языка следует установить Pdox ANSI Cyrillic
  • OPEN MODE - режим открытия базы данных. Можно поставить в READ ONLY, лишив пользователя возможности что-либо изменить в данных. На самом деле этот способ подойдет только как экстренный и только против чайников.
  • SQLPASSTHRU MODE - пожалуй важнейший для технологии клиент-сервер режим, определяющий, каким образом происходит взаимодействие BDE с сервером. Passthrough SQL - операторы SQL, выполняемые при помощи компонента TQuery. Возможные значения:
    1. SHARED AUTOCOMMIT - Неявное создание и подтверждение транзакций, при выполнении любых операций с базами данных. Просто выполняется TDatabase.StartTransaction перед каждым обращением к серверу и TDatabase.Commit после. Passthrough SQL и команды BDE используют одно и то же соединение с сервером.
    2. SHARED NOAUTOCOMMIT - Неявные транзакции стартуют как и в предыдущем случае, но подтверждение необходимо производить самому. Passthrough SQL и команды BDE используют одно и то же соединение с сервером.
    3. NOT SHARED - Passthrough SQL и команды BDE не могут использовать одно и то же соединение с сервером. Обновляемые запросы не поддерживаются псевдонимами БД, для которых установлен этот режим.
  • SQLQRYMODE - режим выполнения запросов SQL. Возможные значения:
    1. NULL - для доступа к БД запросы сначала посылаются серверу, а затем, если сервер отказал в обработке, обрабатываются локально
    2. SERVER - только серверная обработка запросов
    3. LOCAL - только локальная обработка

Некоторые параметры драйвера SQL Server (ODBC)
 

  • BATCH COUNT - количество записей, которое накапливает BDE перед сбросом на сервер. При явном завершении транзакции данные будут сброшены не дожидаясь накопления.
  • DATABASE NAME - имя базы данных на сервере, к которой мы собираемся подключаться.
  • CONNECT TIMEOUT - количество секунд, которое BDE ожидает ответа сервера. Если за это время соединение установить не удалось, выдается сообщение о невозможности связаться с сервером.
  • MAX QUERY TIME - время в секундах, в течении которого ожидается выполнение запроса. Если запрос выполняется дольше, то он считается зависшим и ожидание прекращается. Такая ситуация может возникнуть при плохой связи, перегрузке сервера, а как же из-за мертвых блокировок.
  • LANGDRIVER - Название таблицы символов, определяющая набор символов, используемый в таблице и порядок их сортировки. Для русского языка следует установить Pdox ANSI Cyrillic
  • ODBC DSN - Название псевдонима ODBC, из которого был взят этот псевдоним BDE
  • OPEN MODE - режим открытия базы данных. Можно поставить в READ ONLY, лишив пользователя возможности что-либо изменить в данных. На самом деле этот способ подойдет только как экстренный и только против чайников.
  • SQLPASSTHRU MODE - пожалуй важнейший для технологии клиент-сервер режим, определяющий, каким образом происходит взаимодействие BDE с сервером. Passthrough SQL - операторы SQL, выполняемые при помощи компонента TQuery. Возможные значения:
    1. SHARED AUTOCOMMIT - Неявное создание и подтверждение транзакций, при выполнении любых операций с базами данных. Просто выполняется TDatabase.StartTransaction перед каждым обращением к серверу и TDatabase.Commit после. Passthrough SQL и команды BDE используют одно и то же соединение с сервером.
    2. SHARED NOAUTOCOMMIT - Неявные транзакции стартуют как и в предыдущем случае, но подтверждение необходимо производить самому. Passthrough SQL и команды BDE используют одно и то же соединение с сервером.
    3. NOT SHARED - Passthrough SQL и команды BDE не могут использовать одно и то же соединение с сервером.Обновляемые запросы не поддерживаются псевдонимами БД, для которых установлен этот режим.
  • SQLQRYMODE - режим выполнения запросов SQL. Возможные значения:
    1. NULL - для доступа к БД запросы сначала посылаются серверу, а затем, если сервер отказал в обработке, обрабатываются локально
    2. SERVER - только серверная обработка запросов
    3. LOCAL - только локальная обработка

Отметим, что большинство параметров менять нет никакой необходимости. Значения по умолчанию нас вполне устроят.


Последнее приложение, которое мы рассмотрим в рамках этого урока - DataPump. Этот инструмент пригодится для переноса большого количества данных из одного источника в другой. Он и переводится с английского как "насос данных". Например, проект перерос сам себя, понадобились возможности технологии "Клиент/сервер". Вы модернизируете ваш проект, а затем вам надо не потерять наработанные данные. Вот в этом случае вам и пригодится DataPump. Или в какой другой задаче переноса большого количества данных. Мастер проведет вас последовательно по всем шагам, расспросит о ваших пожеланиях, позволит вам выбрать место, откуда брать и куда помещать данные, какие создавать индексы и т.п. Интерфейс весьма прост и нагляден, так что не будем больше тратить на него время.




Рубрика: Delphi & SQL




HTML 5: пять вещей вызывающих особый интер....

Html

HTML 5 — это грядущее обновление гипертекстового языка разметки, основного способа создания контента для размещения его во всемирной паутине. Разработка HTML остановилась в 1999 году, на версии HTML 4.01 и с тех пор web-содержимое изменилось так, что текущие спецификации HTML перестали соответствовать сегодняшним требованиям. HTML 5 нацелен на то, чтобы увеличить функциональную совместимость HTML и соответствовать растущим требованиям разнообразного и смешанного web-контента. HTML 5 так же нацелен на устранение недостатков четвертой версии. В этой статье мы взглянем на 5 новых интересных вещей в HTML 5.


Подробнее... | Рубрика: Html | Добавлено: 22.12.2008

asp.net: ListView с разных сторон.

.NET компоненты

Элемент управления ListView был представлен в .Net Framework 3.5 как замена устаревшему GridView. Новый элемент имеет более расширенный функционал, чем его предшественник, но в тоже время лишен некоторых внутренних механизмов, что впрочем целиком следствие из расширенной универсальности ListView. Среди отличий ListView и GridView можно назвать и гибкую настройку разметки, что позволяет выводить данные не только в табличном виде, но и вообще в любом каком пожелает программист. Благодаря шаблонам ItemTemplate, EditItemTemplate, InsertItemTeplate можно настроить внешний вид при любом из состояний ListView: редактировании или выборе элемента.


Подробнее... | Рубрика: .NET компоненты | Добавлено: 22.12.2008

Создание кросс-таб отчета в Stimulsoft Rep....

.NET компоненты

Компания Стимулсофт предоставляет для разработчиков мощный набор инструментов для создания отчетов для Microsoft Visual Studio .Net 2005 и 2008; эти инструменты доступны как для Windows Forms, так и для Web Forms. Это генератор отчетов Stimulsoft Reports.Net. Генератор отчетов Stimulsoft Reports.Net имеет ряд особенностей: простая работа с дизайнером отчетов, полная поддержка экспорта в PDF, Word, Excel и многие другие форматы. Crystal Report и Microsoft Reporting Service – очень хорошие программные продукты для повседневной работы, но, если Вам необходимо создать отчеты с поддержкой кросс-табов, drill down, Ajax, штрих-кодов и возможностью подключения одновременно более одного источника данных, то Stimulsoft Reports.Net поможет Вам сэкономить массу времени. Также, данный генератор отчетов позволяет пользователям создавать свои собственные отчеты любой сложности. И все эти особенности делают Stimulsoft Reports.Net хорошим выбором в сфере программных продуктов для Business Intelligence.


Подробнее... | Рубрика: .NET компоненты | Добавлено: 22.12.2008

Остальные статьи:

VivaMP - инструмент для OpenMP
Создаем контекстно-зависимое WPF-приложени...
Windows Vista SP2: что внутри и что важно?
Вышел MySQL 5.1.30, первый стабильный рели...
Тестирование параллельных программ
Архитектура AMD64 (EM64T)
Платформа 2009. Определяя будущее
Windows Vista Bridge Sample Library - упра...
Оптимизация 64-битных программ
Подгрузка через AJAX HTML-кода, содержащег...
Обзор нового релиза самой мощной Ajax библ...
Firebug 1.3 и 1.4 alpha — что нового и инт...
Релиз Microsoft Silverlight 2.0. Что новог...
XML документация в C#
Курсоры в MySQL 5
Microsoft опубликовала подробности о сесси...
Microsoft делится подробностями о том, что...
Тестируем новый javascript от нового брауз...
MySQL Query Cache
Использование провайдеров компиляции в As...


Цитата дня (все,добавить):

Портал фрилансеров

работа на дому


    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование


Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия