Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемма вставки данных [D5, Paradox]


Kenzoo ©   (2004-09-08 14:24:00) 

if edit1.text<>'' then
     begin
     sql.add(' insert into "'+Путь+'"(Da) values (:Data) ');
     Params[0].asdate:=strtodate(edit1.text);
     end
else
     begin
     sql.add(' insert into "'+Путь+'"(Da) values (:Data) ');
     Params[0].Clear;
     end;
Если в Edit1 есть дата - вставляет, если нет
то пишет
"Field 'Data' is of an unknown type".
Почему так?


Kenzoo   (2004-09-08 16:05:00) [1]

Спасибо. Заработало:)


LM2   (2004-09-08 15:40:00) [2]

А что мешает так сделать?
sql.add(' insert into "'+Путь+'"(Da1, Da2, Da3) values (');
if edit1.text<>'' then
begin  
sql.add(':Da1,');    
ParamByName('Da1').asdate:=strtodate(edit1.text);
end
else
 sql.add('null,');

if edit2.text<>'' then
begin  
sql.add(':Da2,');    
ParamByName('Da2').asdate:=strtodate(edit2.text);
end
else
 sql.add('null,');

if edit3.text<>'' then
begin  
sql.add(':Da3)');    
ParamByName('Da3').asdate:=strtodate(edit3.text);
end
else
 sql.add('null)');


Kenzoo   (2004-09-08 15:16:00) [3]

В том дело, что пример упрощён.
Там несколько полей (Edit'ов) с датой
Поэтому и использую параметры.


LM2   (2004-09-08 15:13:00) [4]

Напиши так
if edit1.text<>'' then
    begin
    sql.add(' insert into "'+Путь+'"(Da) values (:Data) ');
    Params[0].asdate:=strtodate(edit1.text);
    end
else
    begin
    sql.add(' insert into "'+Путь+'"(Da) values (null) ');
    end;


Kenzoo   (2004-09-08 15:08:00) [5]

Блин, только на этом застопорился:(


Kenzoo   (2004-09-08 14:40:00) [6]

sql.add(' insert into "'+d+'"(Da) values (:par) ');
               Params[0].Clear;
               Params[0].Bound:=true;

то же самое получаю.


MU   (2004-09-08 14:32:00) [7]

However, if the Clear method is used to bind the parameter to a NULL value, Bound must be separately set to True.


Наверх

Титульная страница Поиск, карта сайта Написать письмо