|
|
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
Пытаюсь передать параметр as1 в запрос. select * from contact_t where DATE_CC >cast(:as1 as TIMESTAMP) Однако когда этот IBQuery->Active=true; - выдается ошибка Dynamic SQL error code=-804 Data type unknown Пытаюсь прямо в Object Inspector для параметра as1 указывать DataType - тоже не помогает. Зато когда параметра нет where DATE_CC >cast('10.10.2003' as TIMESTAMP) - все ОК В чем дело-то? З.Ы. BCB6+FB1.02 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 17:56:42 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
А на кой тебе там нужен CAST ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 18:23:27 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
Ну, и какого типа у тебя параметр as1? Если типа Varchar/Char, тогда вопросы, а если TimeStamp, то делай просто: select * from contact_t where DATE_CC > :as1 ------------- А поле DATE_CC какого типа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2004, 18:31:37 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
as1 – String Но это не принципиально, GOLD прав, cast здесь не нужен. Это просто эксперимент. Никак толком не разберусь с передачей параметров запросов. Запутался, и чую - в трех соснах. А вообще задача стоит так: Передать параметр для Insert, типа insert into GR_CL_T ( GR_GRCL, CL_GRCL) select :GR, client_cc from contact_t where DATE_CC >:Date1 Здесь GR и Date1– параметры типов Integer и DateTime Подскажите, плиз, можно ли в IBDataSet->InsertSQL передать параметры подобно как в IBQuery для селекта? Я пытался в проге IBDataSet4->Params[0]->AsDateTime=Date1 – ругается Pointer to structure request on left side of -> or _>* Или стоит пойти другим путем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 18:39:08 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
Там папаметры косвенно заполняются, из полей самого компонента. Если ты создашь параметр в InsertSQL которого небудет в компоненте, то фиг ты до него достучишься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:07:23 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
Ну почему же?.. Можно и достучаться. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2004, 19:12:34 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
4 GOLD Дык как же тогда передать параметр для инсерта? Не может же быть, чтоб этого не делали. Вообще-то как ни странно insert into GR_CL_T (GR_GRCL , CL_GRCL) select :GR , client_id from client_t where SALER_CL= (select SALER_ID from SALER_T where SALER_T.LOGIN_SLR = user) прокатывает для IBQuery несмотря на рекомендацию использовать компонент только для селекта. Но параметр в where не удалось передать. 4 Мимопроходящий А для ВСВ6? В дельфях-то я еще мЕньший спец. На http://]http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=13197 есть нечто похожее на то что мне надо, но на BCB не проходит - об этом я уже писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:42:23 |
|
||
|
Date как параметр запроса
|
|||
|---|---|---|---|
|
#18+
Те не понял как оно работает просто. Смотри, у тебя есть компонента TIBDataSet для работы с данными. Над данными можно производить грубо говоря 4 операции - выборку, вставку, изменение и удаление. Когда ты пишешь запрос для выборки, на основании этого запроса TDataSet создаёт внутри себя массив полей Fields, элементами которого изначально будут поля, возвращаемые запросом. В этот же массив ты можешь дополнительно добавить вычисляемые на клиенте поля (которые fkCalculated). каждое такое поле имеет своё имя. Для обычных полей (fkData) имена полей в компоненте совпадают с именами полей, прописанных в запросе SELECT и таким макаром компонента при выполнении запроса заполняет этот массив Fields. Собственно выборка данных осуществляется методом Open. Для вставки новой строки в таблицу ты вызываешь метод Insert и в массиве Fields добавляется новый элемент с пустыми значениями в полях (или значениями по умолчанию). После вызова метода Insert ты можешь заполнять этот новый элемент с пустыми полями всякими разными способами. Не помню как оно в билдере, но что-то типа того: Fields->Field[0]->AsXxxx=... или Fields->FieldByName("ZZZ")->AsXxx=... После того как ты заполнил все нужные поля, вызываешь метод Post, который подставляет из массива Fields значения в одноимённые поля команды INSERT и вызывает её. С Update делается аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 13:41:04 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1578302]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 326ms |

| 0 / 0 |
