powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite, Внешний ключ, .NET ...
5 сообщений из 5, страница 1 из 1
SQLite, Внешний ключ, .NET ...
    #37861660
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день !
Юзаю:
1) ASP.NET
2) SQLite, .NEt провайдер Precompiled Binaries For .NET , брал здесь: http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
3) Внешний ключ - тут проблемка ...

Проблема:
Есть связанные 2-е таблицы (Внешний ключ: DirUnitMeasureID).
DirUnitMeasure
Код: sql
1.
2.
3.
4.
CREATE TABLE [DirUnitMeasure] (
  [DirUnitMeasureID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  [DirUnitMeasureName] TEXT(16) NOT NULL, 
  [DirUnitMeasureDesc] TEXT(64));


DirNomen
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE [DirNomen] (
  [DirNomenID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  [DirNomenName] TEXT(256) NOT NULL, 
  [DirUnitMeasureID] INTEGER NOT NULL CONSTRAINT [FK_DirNomen_DirUnitMeasureID] REFERENCES [DirUnitMeasure]([DirUnitMeasureID]), 
   ...



Меня беспокоит, то что я без проблем могу удалить записи (заюзанные в таблице "DirNomen") из таблицы DirUnitMeasure , соответственно связи нарушаются !!!
Как я понимаю СкуЛайт должен делать какие-то проверки и блокировать удаление таких записей ???
...
Рейтинг: 0 / 0
SQLite, Внешний ключ, .NET ...
    #37861683
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удаляю обычным запросом:
Код: sql
1.
DELETE FROM DirUnitMeasure WHERE DirUnitMeasureID=777
...
Рейтинг: 0 / 0
SQLite, Внешний ключ, .NET ...
    #37861883
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу вдуплил !!!
Код: sql
1.
 PRAGMA foreign_keys = ON;


После каждого: DELETE, UPDATE.
Потому, что, по умолчанию:
Код: sql
1.
2.
SQLite> PRAGMA foreign_keys;
0


Что бы было "1", надо пересобрать СкуЛайт с соответствующими параметрами.
Как собирать sqlite3.dll из исходников - знаю.
А вот как под .НЕТ собрать, там в провайдере сам SQLite "сидит", да и исходников провайдера не нашёл, пока, что ...
Может кто в курсе ???
...
Рейтинг: 0 / 0
SQLite, Внешний ключ, .NET ...
    #37862161
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinА вот как под .НЕТ собрать, там в провайдере сам SQLite "сидит", да и исходников провайдера не нашёл, пока, что ...
Может кто в курсе ???Искать исходники провайдера и пересобирать, либо писать собственный провайдер.
...
Рейтинг: 0 / 0
SQLite, Внешний ключ, .NET ...
    #37864589
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в строке подключения

const string sqlString = "PRAGMA foreign_keys = ON;";
SQLiteCommand command = new SQLiteCommand(sqlString, connection);
command.ExecuteNonQuery();
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite, Внешний ключ, .NET ...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]