Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.03.2009, 11:42
|
|||
---|---|---|---|
|
|||
c++b6 + ado + foxpro |
|||
#18+
Добрый день есть программа по синхр. 2-х таблиц. контролер пишет данные в таблицу1 (дата таб№ и спуск выезд) где спуск и выезд это время программа должна переносить записи если перенесло и спуск и выезд то ставит флаг_спуск и флаг_выезд=1 но проблема получается тогда когда: контролер записал спуск, программа записала в таблицу_2 спуск и таблицу_1 флаг_спуск =1 затем проходит время и контролер пишет в туже строку выезд программа находит строку в которой появился выезд и нестоит (флаг_выезд=1 тоесть мыее еще не перенесли до конца) она успешно пененосит выезда в таблицу_2 но когда делается запрос на обновить флаг_спуск =1 то update не стробатывает а если сделать такойже select то он находит строку которую не находит update void __fastcall TForm1::Button6Click(TObject *Sender) { Mod->ClientFlags->Active=false; AnsiString sql_txt=""; sql_txt=" select * from otm where tn=12525 and date={^2007.03.22} and time_i=8.31 and time_o=9.47"; Mod->ClientFlags->Close(); Mod->ClientFlags->SQL->Clear(); Mod->ClientFlags->SQL->Add(sql_txt); Mod->ClientFlags->Active=true; Edit1->Text=Mod->ClientFlags->RecordCount; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button8Click(TObject *Sender) { AnsiString sql_txt=""; AnsiString sql_txt=""; sql_txt="update otm set flag_out=1 where (tn=12525) and (date={^2007.03.22}) and (time_i=8.31) and (time_o=9.47)"; Mod->ClientFlags->Close(); Mod->ClientFlags->SQL->Clear(); Mod->ClientFlags->SQL->Add(sql_txt); Mod->ClientFlags->ExecSQL(); } тоесть имеем sql_txt="update otm set flag_out=1 where (tn=12525) and (date={^2007.03.22}) and (time_i=8.31) and (time_o=9.47) "; так не обновляет sql_txt="update otm set flag_out=1 where (tn=12525) and (date={^2007.03.22}) and (time_i=8.31) "; так обновляет sql_txt=" select * from otm where tn=12525 and date={^2007.03.22} and time_i=8.31 and time_o=9.47"; дает 1 запись (тоесть в теории запрос который не обновляет должен обновить) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.03.2009, 11:53
|
|||
---|---|---|---|
c++b6 + ado + foxpro |
|||
#18+
А к моменту запроса Код: plaintext
Изменение в time_o=9.47 уже внесено и скинуто на сервер ? Если да, то Зачем здесь стоят скобки в логических выражениях ( tn=12525 ) , ( date={^2007.03.22} ) ..... Попробуйте tn=12525 and date={^2007.03.22} and time_i=8.31 and time_o=9.47, также как и в запросе проверки. Код: plaintext
Другой разницы не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/search_topic.php?author=%D0%9D%D0%BE%D0%B2%D0%B8%D1%87%D0%BE%D0%BA_Informix&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 441ms |
total: | 601ms |
0 / 0 |