Как хранить логические значения в SQLite - PullRequest
0 голосов
/ 05 сентября 2018

В настоящее время я разрабатываю приложение WPF с использованием базы данных SQLite. Как часть этой формы, пользователей спрашивают, есть ли у них какие-либо нарушения, и могут ли они проверить несколько параметров в списке, таких как «Нет инвалидности», «Проблемы с ногами», «Проблемы с сердцем» и т. Д. Все это войдет в базу данных с таблицей «Студент». В настоящее время мой код SQL таблицы Student выглядит следующим образом:

CREATE TABLE STUDENT(
    StudentID int(5),
    firstName string(256),
    ...,
    age int(3)
);

Проблема в том, что я не знаю, как сохранить это в базе данных. Я знаю, что SQLite не поддерживает логические значения, так как это была моя первоначальная идея. Если флажок был выбран, то значение будет установлено в True, и наоборот. В отсутствие булевых значений, как бы я хранил эти данные в базе данных?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Вы можете хранить логическое значение в int (1), где 0 представляет false, а 1 - true.

См. Типы данных в документации по SQLite есть отдельный раздел 2.1 Логический тип данных :

SQLite не имеет отдельного класса логического хранилища. Вместо этого логические значения сохраняются как целые числа 0 (ложь) и 1 (истина).

0 голосов
/ 05 сентября 2018

Как вы уже сказали, SQLite не поддерживает BOOLEAN.

Вы должны хранить его как INT.

1 будет ИСТИНА

0 будет ЛОЖЬ

SQLite не имеет отдельного класса логического хранилища. Вместо, Логические значения хранятся в виде целых чисел 0 (ложь) и 1 (истина).

С документацией можно ознакомиться здесь

...