Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Курс видеоуроков КРЭКЕРСТВО + ПРОГРАММИРОВАНИЕ 2017
(актуальность: апрель 2017)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



DBase и особые случаи BDE

Ну и запросы у вас - сказала база данных и повисла.

Dbase является причиной бОльшего количества 'special case' в BDE, чем таблицы SQL и Paradox из-за поддержки "Выражений в Индексах" (Expressions in indexes) и т.д., и т.п..

  1. Создание/пересоздание индекса
    • DbiRegenIndexes( Table1.Handle ); { Регенерация всех индексов }
    • create index (зависит от существования выражения)

 if (( Pos('(',cTagExp) + Pos('+',cTagExp) ) > 0 ) then
   Table1.AddIndex( cTagName, cTagExp, [ixExpression])  // <- ixExpression - _литерал_
 else
   Table1.AddIndex( cTagName, cTagExp, []);
 

  1. Мастер/Деталь связан с выражением дочернего индекса
    • вызов BDE процедуры DbiLinkDetailToExp() вместо обычной DbiLinkDetail()
  2. Упаковка таблиц

 with Table1 do
   StrPCopy( TName, TableName );
 Result := DBIPackTable( DbHandle, Handle, TName, szDBASE, TRUE );
 

  1. Установка видимости удаленных записей, on/off (т.е. dBase SET DELETED ON/OFF)

 DbiSetProp( hDBIObj(Table1.Handle), curSOFTDELETEON, LongInt(bValue));
 

  1. Установка символа частичного/точного соответствия, on/off (т.е. dBase SET EXACT ON/OFF)

 DbiSetProp( hDBIObj(Table1.Handle), curINEXACTON, LongInt(bValue));
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS