Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > SQLite 3 и null


Автор: Pavelbej 16.8.2008, 23:42
Салют всем!

Создаю запись, но когда присваиваю ей null:
Код

     FieldByName('fk').AsVariant:=null;

в таблице появляется цифра 0, а не должно быть ничего.
В чем тут проблема?

Пробовал и:
Код

FieldByName('fk').value:=null;

FieldByName('fk').AsString:='';

Ничего.

Автор: morpheyushka 18.8.2008, 12:55
А если вобще ей ничего не присваивать - сам SQL выставит ей null?

А вобще я в своих программах стараюсь делать так, что бы и 0 и null были тождественными

Автор: Akella 18.8.2008, 13:09
Посмотри настройки датасета, некоторые датасеты записывают 
Код

''

место
Код

null

для строковых полей, как например фибы

Добавлено через 11 минут и 35 секунд
хотя ... ноль... помоему я торможу  smile 

Автор: Poseidon 18.8.2008, 13:54
а fk у тебя какого типа? Числовой, видать...

Автор: Pavelbej 18.8.2008, 17:43
Цитата(morpheyushka @  18.8.2008,  12:55 Найти цитируемый пост)
А если вобще ей ничего не присваивать - сам SQL выставит ей null?

Тоже самое

Цитата(Akella @  18.8.2008,  13:09 Найти цитируемый пост)
Посмотри настройки датасета, некоторые датасеты записывают 

А где это?


Цитата(Poseidon @  18.8.2008,  13:54 Найти цитируемый пост)
а fk у тебя какого типа? Числовой, видать... 

Integer

 smile 

Автор: Poseidon 19.8.2008, 11:21
Цитата(Pavelbej @  18.8.2008,  17:43 Найти цитируемый пост)
Integer
Ну и что ты хотел при этом..?

Автор: Pavelbej 19.8.2008, 13:05
Цитата(Poseidon @  19.8.2008,  11:21 Найти цитируемый пост)
Ну и что ты хотел при этом..?

Не понял вопроса.

В fk содержится номер ссылки из другой таблицы. Так как я создаю папку, то ей присваивается ссылка под номером 0. А папка, это папка, а не закладка, и не должна содержать ссылок. Могут возникнуть проблемы в дальнейшем при поиске и т.д.
Firefox 3 ведь как-то очищает это поле или не записывает туда ничего.  smile 

Автор: Poseidon 21.8.2008, 09:49
Цитата(Pavelbej @  19.8.2008,  13:05 Найти цитируемый пост)
Не понял вопроса.
Значение null определено только для типа variant. Если у тебя в базе указан тип Integer, то, передавая значение Null в базу, запишется 0.

Цитата(Pavelbej @  19.8.2008,  13:05 Найти цитируемый пост)
В fk содержится номер ссылки из другой таблицы. Так как я создаю папку, то ей присваивается ссылка под номером 0. А папка, это папка, а не закладка, и не должна содержать ссылок.
Ну так построй логику программы так, что если там 0, то значит это папка и ничего там быть не может.

Автор: Pavelbej 21.8.2008, 12:07
Цитата(Poseidon @  21.8.2008,  09:49 Найти цитируемый пост)
Ну так построй логику программы так, что если там 0, то значит это папка и ничего там быть не может.

В том то и дело что я использую не свою созданную базу, а базу Firefox 3.

Автор: morpheyushka 21.8.2008, 12:34
Цитата(Pavelbej @  21.8.2008,  12:07 Найти цитируемый пост)
В том то и дело что я использую не свою созданную базу, а базу Firefox 3. 

Логику программы измени - это делается в коде программы, а не в БД

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)