|
|
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
Всем привет! Народ хелпайте .... что-то я совсем завис! Есть код: this->Caption="Среднесуточные архивные данные по выводу №1 (прямая) за период с "+DateToStr(this->DateTimePicker1->Date)+" по "+DateToStr(this->DateTimePicker2->Date); this->QSelectAvg1p->Close(); this->QSelectAvg1p->SQL->Clear(); this->QSelectAvg1p->SQL->Add("SELECT DISTINCT Ap_v13.Дата, Ap_v13.Значение, Ap_v13_2.Значение, Ap_v13_3.Значение, Ap_v13_4.Значение, Ap_v13_5.Значение, Ap_v13_6.Значение, Ap_v13_7.Значение"); this->QSelectAvg1p->SQL->Add("FROM AP_V13 Ap_v13, AP_V13 Ap_v13_2, AP_V13 Ap_v13_3, AP_V13 Ap_v13_4, AP_V13 Ap_v13_5, AP_V13_M Ap_v13_6, AP_V13_M Ap_v13_7"); this->QSelectAvg1p->SQL->Add("WHERE Ap_v13.Канал=1 AND Ap_v13.Дата>='"+DateToStr(DateTimePicker1->Date)+"' "); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_2.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_3.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_4.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_5.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_6.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Канал=Ap_v13_7.Канал"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_2.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_3.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_4.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_5.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_6.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Дата=Ap_v13_7.Дата"); this->QSelectAvg1p->SQL->Add("AND Ap_v13.Параметр=206"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_2.Параметр=201"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_3.Параметр=211"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_4.Параметр=216"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_5.Параметр=221"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_6.Параметр=401"); this->QSelectAvg1p->SQL->Add("AND Ap_v13_7.Параметр=406"); this->QSelectAvg1p->SQL->Add("ORDER BY Ap_v13.Дата"); this->DSSelectAvg->DataSet=this->QSelectAvg1p; this->QSelectAvg1p->Open(); После открытия запроса выдается сообщение о несоответствии типов данных. Я знаю что енто происходит в строке с DateTimePicker ПОМОГИТЕ сделать правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:37 |
|
||
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
Дату в dynamic sql надо передавать в правильном формате, который поддерживается вашей СУБД. Для SQL Server формат зависит от COLLATION, однако такой как правило срабатывает везде: 'yyyy-мм-дд' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:45 |
|
||
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
Работаю через BDE Тот вариант что Вы предложили вызывает туже ошибку ... Пробовал в SQL Builder строить запрос так кам он формат даты пишет как 'mm/dd/yy' но и при переводе в такой формат не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 10:58 |
|
||
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
AegyptyРаботаю через BDE Тот вариант что Вы предложили вызывает туже ошибку ... Пробовал в SQL Builder строить запрос так кам он формат даты пишет как 'mm/dd/yy' но и при переводе в такой формат не работает Глупый вопрос... Вы когда переводили в тот или иной формат - Вы указали формат даты парсеру (как конкретно - зависит от Вашей СУБД) ? Он же не телепат, чтоб знать что Вы наваяли... Вывидите свой SQL в строку и сбросьте в файл (либо под дебагом копирните). Запустите любой SQLQwery к Вашей СУБД, прогоните Ваш запрос отдельно. Добейтесь его рапотоспособности...Ну далее ваяйте код... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 14:29 |
|
||
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
Aegypty this->QSelectAvg1p->SQL->Add("WHERE Ap_v13.Канал=1 AND Ap_v13.Дата>=:date"); и потом this->QSelectAvg1p->->ParamByName("date")->Value=DateTimePicker1->Date; this->QSelectAvg1p->Open(); и вообще, старайся в SQL запросы подобные параметры вносить именно через Параметры. это позволит не пересобирать каждый раз запрос (ускорение работы приложения) и, что более важно, запрос будет храниться в СУБД и как сделдствие быстрее обрабатываться. По крайней мере так для MsSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 17:14 |
|
||
|
Проблемма с датой
|
|||
|---|---|---|---|
|
#18+
AegyptyРаботаю через BDE Тот вариант что Вы предложили вызывает туже ошибку ... Пробовал в SQL Builder строить запрос так кам он формат даты пишет как 'mm/dd/yy' но и при переводе в такой формат не работает Надо в бинарном виде передавать параметры, а не в символьном. Тогда проблем с форматом никаких в принципе не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2006, 17:47 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33512595&tid=2032031]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 413ms |

| 0 / 0 |
