Виртуальная библиотека Delphi

Тут можно читать онлайн Виртуальная библиотека Delphi - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Виртуальная библиотека Delphi
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Виртуальная библиотека Delphi краткое содержание

Виртуальная библиотека Delphi - описание и краткое содержание, автор Неизвестный Автор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Виртуальная библиотека Delphi - читать онлайн бесплатно полную версию (весь текст целиком)

Виртуальная библиотека Delphi - читать книгу онлайн бесплатно, автор Неизвестный Автор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

6. Обработка исключений (exceptions) BDE.

Информация об ошибке BDE может быть получена для использования в приложении из объекта EDBEngineError . Исключительная ситуация EDBEngineError обрабатывается в программе с помощью конструкции try ... except. Когда возникает исключительная ситуация BDE, то может быть создан объект EDBEngineError и различные поля этого объекта могут быть использованы для программного определения, что не в порядке и что требуется для исправления ситуации. Далее, для данной исключительной ситуации может быть сгенерировано несколько сообщений об ошибках. Это требует организации перебора сообщений об ошибках для получения нужной информации.

7. Какому стандарту SQL соответствует SQL в InterBase?

SQL в Local & Remote InterBase соответствует SQL-92 с элементам SQL III (более поздними расширениями).

8. Как удалить генераторы (GENERATORS) из базы данных InterBase?

Никак. К сожалению, в существующих версиях InterBase это невозможно.

9. Как выбрать протокол при соединении с InterBase из Delphi?

В Server Manager (ibmgr.exe), Windows interactive SQL (wisql.exe) и Communication Diagnostic Tool (comdiag.exe) Вы отдельно задаете имя сервера, протокол и 'путь на базу' (локальный путь на сервере, а не путь до базы с Вашей машины)

А в BDE Configuration Utility все немного не так — на странице Drivers у драйвера Interbase есть параметр SERVER NAME, заполненный как IB_SERVER:/PATH/DATABASE.GDB, а у любого InterBase Alias есть параметры SERVER NAME и PATH, но ни у драйвера ни у алиаса нет протокола. Для Interbase протокол указывается стилем написания пути к базе:

Протокол SERVER NAME Пример
TCP/IP IB_SERVER:PATH\DATABASE.GDB nt:c:\ib\base.gdb; unix:/ib/base.gdb
IPX/SPX IB_SERVER@PATH\DATABASE.GDB nw@sys:ib\base.gdb
NETBEUI \\IB_SERVER\PATH\DATABASE.GDB \\nt\c:\ib\base.gdb

10. Можно ли использовать какие-нибудь ODBC драйверы, которые получены с другими СУБД?

В общем, да. Мы не столкнулись с какими-то ODBC драйверами, которые не работают с Delphi, но, с другой стороны, мы не пробовали действительно экзотические драйверы. Основные трудности вызвали специфические ODBC-драйверы от Microsoft. Похоже, что ODBC и ODBC от Microsoft - это разные вещи.

11. Проблемы с именами таблиц в ODBC-драйверах.

При использовании ODBC-драйверов, если у вас появляются ошибки при открытии таблицы - установите порядок сортировки (SORT ORDER) хотя-бы Paradox ASCIIi. Это, например, помогает при доступе к базам данных Lotus Notes (ODBC-драйвер фирмы Casahl).

12. Какой формат данных предпочесть в Delphi? dBase или Paradox?

Если вам действительно все равно, то вот несколько пунктов 'за' формат Paradox:

1. Широкий выбор типов полей, включая автоинкремент, BLOBs, и т.п.

2. Соблюдение целостности данных, контроля данных, обновления индексов на уровне ядра BDE.

3. Первичный индекс таблицы автоматически соблюдает уникальность записей, вторичные индексы обеспечивают отсортированный "вид" на записи таблицы.

13. Как нужно писать функцию "change password" для таблицы Парадокса?

Нет способа сделать это в пределах Delphi VCL. Кажется, это довольно серьезное упущение. Однако, есть возможность сделать это напрямую через Borland Database Engine через интерфейс предоставляемый модулями DBIPROCS.DCU и DBITYPES.DCU () или BDE.DCU (). Нужно использовать функцию DbiDoRestructure .

14. Есть ли какая-нибудь процедура для перестройки разрушенного индекса, типа TUTILITY.EXE из PdoxWin?

BDE включает функцию для этого — DbiRegenIndexes .

15. Есть ли какая-нибудь процедура для упаковки таблицы dBase?

В BDE есть функция DbiPackTable .

16. Как для .dbf таблицы создать индекс по выражению?

Нужно использовать процедуру AddIndex с параметром ixExpression , например:

Table1.AddIndex( 'NewIndex', 'Field1 * Field2 + Field3', [ixExpression]);

17. Как создать в Paradox вторичный индекс с упорядочиванием по убыванию?

Используйте флаг ixDescending :

Table1.AddIndex( 'NewIndex', 'CustNo;CustName', [ixDescending]);

18. Хочу узнать номер текущей записи, как это сделать?

В общем случае — никак. В случае таблицы Paradox — есть в BDE функция DbiGetSeqNo , которая возвращает логический номер записи. Но при использовании на форме TDBGrid она может давать не всегда правильные значения.

19. Как посмотреть удаленные записи в таблице .dbf? А как их восстановить?

Для того, чтобы удаленные записи были доступны, нужно установить соответствующее свойство для курсора с помощью функции BDE DbiSetProp :

DbiSetProp(hObj(Table1.Handle), curSoftDeleteOn, 1);

Проверка удалена запись или нет производится через функцию чтения записи DbiGetRecord . Для восстановления записи применяется функция DbiUndeleteRecord .

20. Упаковка таблицы.

Упаковать таблицу DBF можно открыв ее компонентом TTable и вызвав функцию BDE DbiPackTable :

Result := DbiPackTable(Table1.DbHandle, Table1.Handle, nil, szDBase, True);

21. Почему я получаю ошибку 'Index out of range' когда использую TTable.FindNearest и TTable.FindKey для таблицы dBase с индексом по выражению?

Методы TTable.FindKey и TTable.FindNearest не могут работать с таким видом индексов. Вместо этих методов используйте TTable.GotoKey и TTable.GotoNearest , которые прекрасно работают с ними.

22. Как программным образом создать таблицу Paradox с автоинкрементным полем?

Вам следует использовать компонент TQuery и SQL-предложение типа:

CREATE TABLE "PDoxTbl.db" (ID AUTOINC, Name CHAR(255), PRIMARY KEY(ID));

23. Почему я не могу использовать опцию ixUnique при создании индекса в таблице Paradox с помощью метода AddIndex компонента TTable?

Опции, используемые в методе AddIndex компонента TTable зависят от типа таблиц. Например, опция ixUnique работает с таблицей dBase, но не с Paradox. Следующая таблица показывает, как эти опции используются для таблиц dBase и Paradox.

Index Options dBase Paradox
ixUnique *
ixExpression *
ixDescending * *
ixNonMaintained * *
ixPrimary *
ixCaseInsensitive *

24. Генерация уникальных идентификаторов для таблиц.

Для более полного ознакомления с этим вопросом рекомендуется обратится к статье Максима Михеенкова в 1-ом номере российского журнала СУБД за 1995 год. А коротко можно сказать следующее.

Для таблиц Paradox вы можете пользоваться специальными типами полей, гарантирующими уникальность значения поля в записи — типы AutoIncrement и TimeStamp (с использованием функций DateXXX — модуль SysUtils).

Для Interbase вы можете использовать генераторы, которые возвращают уникальное значение.

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Неизвестный Автор читать все книги автора по порядку

Неизвестный Автор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Виртуальная библиотека Delphi отзывы


Отзывы читателей о книге Виртуальная библиотека Delphi, автор: Неизвестный Автор. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x