Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизКак в поле таблицы типа DATE Nullable поместить null Найти похожие ветки
← →
СержК (2005-05-19 11:30) [0]Мастера подскажите пожалуйста.
У меня в программе есть следующая конструкция:
В зависимости от варианта выполнения программы, параметру запроса на добавление новой записи присваиваем значение типа DateTime:
QInsert.ParamByName("ins_DATE").AsDateTime:=DateTimePicker5.Date
В другом случае (условие задачи) в поле таблицы добавлять ничего не нужно:
QInsert.ParamByName("ins_DATE").Clear
До сего дня все работало отлично, но сегодня я поставил прорамку (другую). И по всей видимости заменил MDAC2.6 на MDAC2.7.
И вот теперь такую вещь как:
QInsert.ParamByName("ins_DATE").Clear - машина сделать не дает.
При выполнении запроса говорит:
Incorrect values within SQLDA structure...
Как мне обойти эту проблемму (присвоить параметру значение NULL)?
Помогите кто может. Ждуу..
← →
СержК (2005-05-19 11:32) [1]Да, забыл указать.
База данных - IB5
← →
ANB © (2005-05-19 11:32) [2]Во первых, тебе в Базы.
← →
stone © (2005-05-19 11:50) [3]QInsert.ParamByName("ins_DATE").Value := null;
← →
СержК (2005-05-19 11:53) [4]Пробовал: QInsert.ParamByName("ins_DATE").Value := null;
Не работает. Выдает такое же сообщение:
Incorrect values within SQLDA structure...
← →
Johnmen © (2005-05-19 12:46) [5]Что-то какие-то непонятки...
Что такое QInsert ?
Как связан IB5 с MDAC2.7 ? Какие компоненты доступа ?
← →
СержК (2005-05-19 13:23) [6]Предположение, что моя проблема связана с MDAC2.7 возникла вот откуда. Мне кажется что я с Вами (Johmen) по этому поводу уже общался пару месяцев назад.
При установке D7 на машину где уже был установлен D5 было предложено заменить MDAC2.6 на MDAC2.7 - я согласился.
После этого возникли проблеммы с добавлением(изменением) полей в БД типа Date. И мне посоветовали тип параметра в запросах AsDate на AsDateTime
Query.ParamByName("qqq").AsDate
на
Query.ParamByName"qqq").AsDateTime
, что я и сделал. После этого все заработало как часы.
Вот отсюда возникло предположение, что моя проблема связана с MDAC2.7
А вот теперь всплыла проблемма как в поле типа Date добавить null (точнее ничего не добавлять)
← →
Johnmen © (2005-05-19 13:32) [7]>СержК (19.05.05 13:23) [6]
Так какие же компоненты доступа ?
Смею предположить, что БДЕ. Тогда МДАК здесь непричем.
← →
СержК (2005-05-19 13:46) [8]Да - использую БДЕ. Проект создавался лет пять назад.
Что делать.. назад не повернешь. Нужно выходить из ситуации с наименьшими потерями.
← →
Johnmen © (2005-05-19 13:51) [9]Какой сервер ? Версия ? Какой диалект БД ?
Какие параметры соединения ?
← →
СержК (2005-05-19 14:37) [10]У меня сервер IB 5.5
← →
Johnmen © (2005-05-19 14:44) [11]...ну давай, давай, рожай скорее...:)))
← →
СержК (2005-05-19 14:46) [12]А вот про диалект ничего не скажу, не найду где это...
← →
Johnmen © (2005-05-19 14:56) [13]См. Свойства БД под к.-л. менеджером (IBConsole,IBExpert,...)
← →
СержК (2005-05-19 14:58) [14]Не знаю то или нет?
SHOW VERSION
ISQL Version: WI-V5.5.0.742
InterBase/x86/Windows NT (access method), version "WI-V5.6.0.29"
InterBase/x86/Windows NT (remote server), version "WI-V5.6.0.29/tcp (sirius)/P8"
InterBase/x86/Windows NT (remote interface), version "WI-V5.6.0.29/tcp (serg)/P8"
on disk structure version 9.1
← →
Johnmen © (2005-05-19 15:03) [15]Не то.
← →
Lexer © (2005-05-19 15:04) [16]а так пробовал?
QInsert.ParamByName("ins_DATE").Value := "null"
← →
СержК (2005-05-19 15:18) [17]Пробовал - не идет
← →
Lexer © (2005-05-19 15:31) [18]Если параметр используется в учсловии то попробуй добавить ще один параметр.
пример:
SELECT * FROM TABLE_1 WHERE date _1 :r :input_date
и меняй их так:
1)
:r = "is"
:input_date = "null"
2)
:r = "="
:input_date = date_val
← →
Johnmen © (2005-05-19 15:51) [19]>Lexer © (19.05.05 15:31) [18]
Извиняюсь, это бред.
← →
Johnmen © (2005-05-19 15:52) [20]>СержК
Диалект не смотри, понятно, что первый.
Ответь на остальные вопросы.
← →
lexer © (2005-05-19 15:55) [21][19] Johnmen © (19.05.05 15:51)
какой бред? :r - макропараметр...
бред писать - Where date_1 = "null" вместо Where date_1 IS NULL
← →
СержК (2005-05-19 15:56) [22]Пардон. Я не знаю где взять ответы на эти вопросыы.
Что такое - параметры соединения ?
← →
Johnmen © (2005-05-19 15:57) [23]>lexer © (19.05.05 15:55) [21]
>макропараметр
Что это такое ?
← →
Johnmen © (2005-05-19 15:58) [24]>Что такое - параметры соединения ?
Параметры, которые используются при коннекте к серверу и БД.
← →
Lexer © (2005-05-19 16:01) [25][23] Johnmen © (19.05.05 15:57)
макропараметр используется в RXDataSet для вставки куска SQL текста в запрос.
но если используется не RX, то кто мешает динамически менять сам запрос?
← →
Johnmen © (2005-05-19 16:09) [26]>Lexer © (19.05.05 16:01) [25]
Причём тут RX ?
Вот я напишу свою библ. с псевдомегапараметрами. И что ?
← →
Lexer © (2005-05-19 16:16) [27][26] Johnmen © (19.05.05 16:09)
>Причём тут RX ?
что вы привязались к параметрам?
смысл [18] хоть понятен? вместо = указывать IS
← →
Johnmen © (2005-05-19 16:19) [28]>Lexer © (19.05.05 16:16) [27]
>смысл [18] хоть понятен?
Понятен.
Но, вроде бы, разговор шёл о параметрах. Или я опять привязываюсь ?
:)
← →
Sergey13 © (2005-05-19 16:29) [29]2 СержК
А того, бекап/рестор нормально? Експертом или чем нито вставка таким запросом идет?
ЗЫ: 5.5 то не хочешь обновить? Про нее много нехорошего писАли.
← →
СержК (2005-05-19 16:37) [30]Бекап/рестор уже делал - без проблем.
Но результата не дает. А про обновление сервера - собираюсь. Пока не решил, что ставить. Руководство что-то хочет приобрести (кажется под IB7.1) Вот когда будет ясно что - тогда и буду обновлять сервер. Но это думаю не скоро будет...
← →
Sergey13 © (2005-05-19 16:40) [31]2 [30] СержК (19.05.05 16:37)
"Приобрети" сам ФБ и обнови. 8-)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.039 c