Delphi ZeosLib: Горячо ли включать Sqlite3 external_keys?

Я использую ZEOSDBO-7.1.4 с Delphi 7 для управления базой данных приложения sqlite3. Я создал несколько внешних ключей, позволяющих DELETE CASCADE удалять строки из таблицы сведений. Но по умолчанию внешние ключи отключены, поэтому их нужно включать в начале работы с БД. Я попробовал ExceuteDirect('PRAGMA Foreign_keys=ON') сразу после подключения, но это не помогло. Затем я попытался вызвать PRAGMA после открытия транзакции и до запроса, но это также не помогло.

Как я могу включить Sqlite3 Foreign_keys с ZEOSDbo в Delphi?


person Dr.eel    schedule 17.12.2015    source источник


Ответы (1)


Ответ в источниках ZEOSDBO!

Просто предоставьте свойство foreign_keys=True объекту соединения перед открытием соединения.

Код:

...    
FDbConnection.Protocol := 'sqlite-3';
FDbConnection.Properties.Add('foreign_keys=TRUE');
FDbConnection.Connect;
person Dr.eel    schedule 17.12.2015