Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

ADOQuery не видит параметров при загрузке запроса   Найти похожие ветки 

 
Dust ©   (2005-09-07 20:07) [0]

Вот убей не понимаю в чём дело...
Самое интересное в том, что при первом вызовет параметры есть, а уже при втором вызове я получаю эксцепшн на тему поле в таблице не может быть равно нулл.
procedure RegSMS (const SRCaddr, Short_message, OPname : String);
begin
 with Form1 do
  begin
   ADOQuery1.Active:=false;
   ADOQuery1.SQL.Clear();
   ADOQuery1.SQL.Append("INSERT INTO InputSMS");
   ADOQuery1.SQL.Append("                      (Tel_num, Input_SMS, IsPart, Inp_time, OPERname)");
   ADOQuery1.SQL.Append("VALUES     (:Tel_num, :SMS, 0, { fn NOW() },  :OPERname);");
   ADOQuery1.ParamCheck :=true;
   //установка параметров
   ADOQuery1.Parameters.ParamByName("Tel_num").Value := SRCaddr;
   if length(Short_message) <>0 then
    ADOQuery1.Parameters.ParamByName("SMS").Value:=Short_message
   else
    ADOQuery1.Parameters.ParamByName("SMS").Value:="[нет данных]";
   ADOQuery1.Parameters.ParamByName("OPername").Value :=OPname;
   ADOQuery1.ExecSQL;
   ADOQuery1.Active:=false;
  end;
end;


 
Anatoly Podgoretsky ©   (2005-09-07 20:43) [1]

Что за диалект такой { fn NOW() },
Какое значение параметров при втором вызове
Зачем второй ADOQuery1.Active:=false;


 
Dust ©   (2005-09-07 20:44) [2]

народ, неужели никто ничего не может сказать по этому поводу?
кстати, ещё одна подробность -
процедура вызывается из разных потоков


 
Dust ©   (2005-09-07 20:45) [3]

Anatoly Podgoretsky
MS SQL Server, я в энтерпрайс мененджере создавал запросы а потом просто копировал их в делфю.


 
Anatoly Podgoretsky ©   (2005-09-07 20:59) [4]

То есть формат нормальный и значение устанавливается на сервер.
Что скажешь про значение параметров при втором вызове?
Ну а раз речь про потоки, то что скажешь про синхронизацию.


 
Карелин Артем ©   (2005-09-07 21:52) [5]

ADOQuery1.Parameters.Refresh надобно делать для получения. Adotest проект смотри в демках Дельфи.


 
Dust ©   (2005-09-08 10:59) [6]

2 Карелин Артем
делал, не помогает
про значение параметров при втором вызове сказать пока не могу
про синхронизацию - перед вызовом процедуры, да и вообще всех процедур работающих с лог-файлом и запросами происходит вход в критическую секцию, она одна на весь проект и на все потоки.


 
Slym ©   (2005-09-08 11:27) [7]

ADOQuery1.ParamCheck :=true;
ADOQuery1.SQL.Append("INSERT INTO InputSMS");
  ADOQuery1.SQL.Append("                      (Tel_num, Input_SMS, IsPart, Inp_time, OPERname)");
  ADOQuery1.SQL.Append("VALUES     (:Tel_num, :SMS, 0, { fn NOW() },  :OPERname);");


 
Dust ©   (2005-09-08 11:34) [8]

ADOQuery1.Parameters.Refresh
я делать пытался, и вообще что только не пытался делать...
короче я на эту идею забил
забил все запросы в десюгн тайм и юзаю для одного запроса один компонент ADOQuery//



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.1 c
3-1126267790
Term
2005-09-09 16:09
2005.10.23
Как получить значение текущей даты в ХП??


3-1126528673
Борис71
2005-09-12 16:37
2005.10.23
проблемы с добавлением записи в таблицу


9-1118169324
4ECHOK
2005-06-07 22:35
2005.10.23
А сделайте мне дождь !


1-1128076983
Angel[Saint]
2005-09-30 14:43
2005.10.23
Как WinRAR определяет что файл, открытый из архива был закрыт?


2-1127898066
Ольга
2005-09-28 13:01
2005.10.23
ComboBox.ItemIndex:=???