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

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

CAST в Microsoft.Jet.OLEDB.4.0 [D6]


Страницы:   1 2

Kvinta ©   (2006-12-27 06:57:00) 

Почему не работает запрос (выдает ошибку)
Select * from REBBASE WHERE CAST (DATA_UCHET AS CHAR(10))
?

Запрос через АДО.


ЮЮ   (2006-12-29 07:08:00) [21]

Нет, дата это дата :)
type
 TDateTime = type Double;

Так что дата - это всего лишь число.

procedure TForm1.Button2Click(Sender: TObject);
begin
 DateTimePicker1.Time := 0;
 Query1.Locate('BirthDay', DateTimePicker1.DateTime, []);
end;

Очень даже Locat-ится.


Kvinta   (2006-12-29 06:44:00) [22]


> А БД какая? В MS SQL лучше использовать для этих целей CONVERT,
Если несложно приведите пример, (синтаксис)
>  а не CAST, т.к. первый даёт более однозначный результат.

База аксевская, подключается из локальной папки через Microsoft.Jet.OLEDB.4.0

> Locate работает толко со строками, и числами.
> А дата, оазве, не число?
Нет, дата это дата :)
>Может ещё временная часть в данных
> присутствует?
Нет, толко дата.


ЮЮ   (2006-12-29 06:27:00) [23]

А БД какая? В MS SQL лучше использовать для этих целей CONVERT, а не CAST, т.к. первый даёт более однозначный результат.

Locate работает толко со строками, и числами.
А дата, оазве, не число? Может ещё временная часть в данных присутствует?


Kvinta   (2006-12-29 05:26:00) [24]


> Select POLE1, POLE2, Str(DATA_UCHET) from REBBASE ?
> Только зачем именно так?


1) Говорит что Ошибка синтаксиса, пропущен оператор  в выражении запроса Str(DATA_UCHET) from REBBASE...
2) Я тут до этого поднимал тему по поводу поиска даты по части даты. Например - 11.12.?? Пережодит к первой дате совпадающей с введенной частью. Locate работает толко со строками, и числами. В результате пришлы к выводу что нужно перевести ее в строку на этапе запроса. Вот и пытаюсь это сделать.


Stanislav   (2006-12-28 13:57:00) [25]

Select POLE1, POLE2, Str(DATA_UCHET) from REBBASE ?
Только зачем именно так?


Kvinta   (2006-12-28 13:29:00) [26]


> Select POLE1, POLE2, DATA_UCHET from REBBASE

И? Это понятно. Может я не совсем ясно выразился... Проблема именно в том что поле DATA_UCHET - у меня типа DATA А я хочу получить в ADO его как строку. Причем преобразования уже с полученными данными не канают, нужно именно чтобы пришло как строка.


Anatoly Podgoretsky   (2006-12-28 13:22:00) [27]

> Kvinta  (28.12.2006 10:09:07)  [7]

Select POLE1, POLE2, DATA_UCHET from REBBASE


Kvinta   (2006-12-28 10:09:00) [28]


> Select POLE1, POLE2, CAST (DATA_UCHET AS CHAR(10)) from
> REBBASE


таже ошибка. :(
Я предпологаю что всетаки CAST он не знает... Может кто другие варианты подскажет.


palva   (2006-12-28 09:55:00) [29]

> вернуть все поля, но поле Data_Uchet преобразовать в строковй тип
Тогда уж как-нибудь так:

Select POLE1, POLE2, CAST (DATA_UCHET AS CHAR(10)) from REBBASE

а предложение WHERE используется, если надо ограничить выборку условием.


Kvinta   (2006-12-28 09:15:00) [30]

Спосибо что отзвались.
Отвечаю
1) Ошибка: "Непознанная ошибка"
2) Ничему не равно. Грид пустой. Само собой если убрать WHERE CAST (DATA_UCHET AS CHAR(10)) Все работает.
3) Смысл такой -вернуть все поля, но поле Data_Uchet преобразовать в строковй тип.
4) Я и не утверждаю что CAST  работает, поэтому к специалистам и обратился. Подскажите тогда как иначе написать запрос чтобы он мне указанное поле (вообще поля) в виде строки возращал?

ЗЫ: Пример с CAST  взят из книжки.


Anatoly Podgoretsky   (2006-12-27 18:53:00) [31]

> Kvinta  (27.12.2006 6:57:00)  [0]

Ни АДО, ни JET просто такого не имеют.


Palladin   (2006-12-27 17:36:00) [32]

1. А кто сказал что в Jet есть Cast ?
2. Условие не понял, сам то понимаешь свое условие?


alex_***   (2006-12-27 17:15:00) [33]

и какую ошибку дает


Stanislav   (2006-12-27 17:07:00) [34]

Select * from REBBASE WHERE CAST (DATA_UCHET AS CHAR(10))
а дальше? чему равно?


Страницы:   1 2

Наверх

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