Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.07.2008, 12:29
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
В таблице есть колонка с типом даты date. Объявлено так: was_born date, Пользователь может вносить в эту колонку дату рождения, а может не вносить, также может удалять даты рождения. Допустим в записи есть дата рождения 17.01.2000 Теперь пользователь хочет убрать это значение из таблицы. Я пишу запрос UPDATE и устанавливаю это значение в NULL. В результате я не получаю пустое значение как мне надо, а получаю дату 30.12.1899 Подскажите как вместо 30.12.1899 получать пустуое значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:39
|
|||
|---|---|---|---|
|
|||
Колонка date |
|||
|
#18+
Ограничения на поле DATE никакого нет? Может там из триггера на автомате проставляется некая дата по умолчанию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:46
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
Эту таблицу в PostgreSQL я сама сделала. Ограничений нет и тригеров тоже. Вот определение: CREATE TABLE voditeli ( id_voditel serial NOT NULL, fam character varying(35) NOT NULL, name character varying(35) NOT NULL, otchestvo character varying(35), was_born date, telefon_1 character varying(15), telefon_2 character varying(15), address character varying(128), primichanie character varying(128), foto_vod bytea, CONSTRAINT pk_id_voditel PRIMARY KEY (id_voditel) ) WITHOUT OIDS; ALTER TABLE voditeli OWNER TO postgres; Откуда берется 30.12.1899 не понятно. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:46
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
Покажите, как создана таблица (скрипт). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:47
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
pamirПокажите, как создана таблица (скрипт).Да, и ещё - чем вы смотрите дату? Очень может быть, что это клиент (который отображает дату или получает её) воспринимает NULL как самую малую для него дату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:57
|
|||
|---|---|---|---|
|
|||
Колонка date |
|||
|
#18+
pamir[quot pamir]Очень может быть, что это клиент (который отображает дату или получает её) воспринимает NULL как самую малую для него дату.Как вариант, нужно и это проверить. В частности, убедиться, что в колонке забито (или не забито) такое значение даты можно при помощи запроса. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 12:59
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
Добрый Э - Эх pamir[quot pamir]Очень может быть, что это клиент (который отображает дату или получает её) воспринимает NULL как самую малую для него дату.Как вариант, нужно и это проверить. В частности, убедиться, что в колонке забито (или не забито) такое значение даты можно при помощи запроса. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 13:03
|
|||
|---|---|---|---|
|
|||
Колонка date |
|||
|
#18+
null_date_cnt - тут имеется ввиду количество строк, которое апдейтилось в значение NULL, но которое в итоге стало равным указанной дате. Если этот счетчик покажет 0, то стало быть в таблице нет дат 30.12.1899. Если же счетчики total_cnt и not_null_date_cnt будут равны, стало быть в таблице нет строк с NULL-значением в поле was_burn. Если же эти счетчики будут различаться, стало быть пустые значения есть. Все это позволит определить - действительно ли в таблице хранится косячная дата, или же это происки клиентского приложения, неспособного корректно отобразить пустое значение в поле типа date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 13:19
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
Спасибо всем. Вообщем разобралась. Надо переделать было запрос в программе. Вот так у меня было сначала и это заносило 30.12.1899, поэтому не правильно: //код С++ Builder 2007 TDateTime data; //хочу обулить дату data = NULL; SQLvBazy = "UPDATE voditeli SET fam = '"+ Edit1->Text+"'" + ", " + "name = '" + Edit2->Text +"'" + ", " + "otchestvo = '" + Edit3->Text + "'" + ", " + "was_born = '" + data.DateString() +"'" + ", " + и т.д. Я предпологала что это занесет пустую строку "" а оно заносило 30.12.1899 Вот так заработало: AnsiString null = "NULL"; //и надо было убрать одинарные кавычки вокруг null SQLvBazy = "UPDATE voditeli SET fam = '"+ Edit1->Text+"'" + ", " + "name = '" + Edit2->Text +"'" + ", " + "otchestvo = '" + Edit3->Text + "'" + ", " + "was_born = " + null + ", " + и т.д. Сейчас вроде работает нормально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 14:09
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
В качестве послесловия - почитайте что-нибудь про параметризированные запросы. Наверняка в C++ Builder компоненты работы с базой их поддерживают. Если уж в Дельфях такое было с TQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2008, 17:58
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
это не тама PostgreSQL. Обратитесь в ветку С++ Builder lena_ki Сейчас вроде работает нормально... Поменяйте локализацию в WINDOWS и убедитесь в обратном. ))) так как сделали Вы - не входит ни в какие рамки как Оффтоп простой пример на Delphi 1. VCL ZEOS в ZQuery1 Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.07.2008, 10:25
|
|||
|---|---|---|---|
Колонка date |
|||
|
#18+
Спасибо. Переделаю на запрос с параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=jack233&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 677ms |
| total: | 897ms |

| 0 / 0 |
