![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Insert into и пустой параметр [D7]
КоТ © (2007-02-06 14:59:00)Есть статический запрос:
insert into abon (dog,fam,name,grupid)
values (:dog,:fam,:name,:grupid)
и текст программы:
ADOQuery3.Parameters[0].Value:=Editdog.Text;
ADOQuery3.Parameters[1].Value:=EditFam.Text;
ADOQuery3.Parameters[2].Value:=EditIM.Text;
ADOQuery3.Parameters[3].Value:=ADOQuery1.Fields[0].AsInteger;
если введены все данные вставка строки происходит нормально, но если EditIM не содержит данных выдается ошибка "не допустимое значение точности".
Как использовать статический запрос и в котором могут быть пустые параметры?
Используется ADO через ODBC
sniknik (2007-02-06 16:54:00) [1]> Clear не делает...
ADOQuery3.Parameters[2].Value:= Null;
sniknik (2007-02-06 16:52:00) [2]> Задал тип всем параметрам - такая же фигня ((
а без ODBC, на OLEDB, или так как в [2] сделать, что тогда? (хотя тут есть вероятность что ODBC сам пустую строку менял в null и на том и ошибка)
какого типа поля в базе? если Char то попробуй сменить на VarChar (может твой движок не поддерживает null в строках).
параметры пересоздай попробуй, удали запрос выйди из мастера и снова его туда пропиши.
Константин_ (2007-02-06 16:46:00) [3]Clear не делает...
Desdechado (2007-02-06 16:40:00) [4]Clear делал?
КоТ (2007-02-06 16:37:00) [5]Задал тип всем параметрам - такая же фигня ((
Sergey13 (2007-02-06 15:27:00) [6]> [4] sniknik © (06.02.07 15:20)
Да я уж понял, что поторопился немного и недочитал вопрос. 8-)
sniknik (2007-02-06 15:20:00) [7]Sergey13 © (06.02.07 15:04) [2]
это если нужно пустое (Null) значение в базе, если там по нему выборки... а так без разницы, ну будет пустая строка вместо Null... (хотя в ODBC как раз есть гдето (не помню драйвер) обсуждалось, пустая строка конвертировалась в Nulll хотя этого и не требовалось)
sniknik (2007-02-06 15:15:00) [8]> Используется ADO через ODBC
не используй ODBC...
> Как использовать статический запрос и в котором могут быть пустые параметры?
как обычно, единственное тип параметру явно задать. (но это в принципе для статических в дизайн тайм для всех лучше делать.)
Sergey13 (2007-02-06 15:04:00) [9]
If EditIM.Text='' then ADOQuery3.Parameters[2].Clear;
Вроде так.
Johnmen (2007-02-06 15:02:00) [10]Не бывает такой ошибки там, где ты указываешь.
И посмотри параметры параметра name в коллекции параметров.