Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

CAST в Microsoft.Jet.OLEDB.4.0   Найти похожие ветки 

 
Kvinta   (2006-12-27 06:57) [0]

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

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


 
Stanislav ©   (2006-12-27 17:07) [1]

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


 
alex_*** ©   (2006-12-27 17:15) [2]

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


 
Palladin ©   (2006-12-27 17:36) [3]

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


 
Anatoly Podgoretsky ©   (2006-12-27 18:53) [4]

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

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


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

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

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


 
palva ©   (2006-12-28 09:55) [6]

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

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

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


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


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


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


 
Anatoly Podgoretsky ©   (2006-12-28 13:22) [8]

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

Select POLE1, POLE2, DATA_UCHET from REBBASE


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


> Select POLE1, POLE2, DATA_UCHET from REBBASE

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


 
Stanislav ©   (2006-12-28 13:57) [10]

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


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


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


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


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

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

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


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


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

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

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


 
ЮЮ ©   (2006-12-29 07:08) [14]

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

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

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

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


 
Kvinta   (2006-12-29 10:13) [15]


> procedure TForm1.Button2Click(Sender: TObject);
> begin
>  DateTimePicker1.Time := 0;
>  Query1.Locate("BirthDay", DateTimePicker1.DateTime, []);
>
> end;
> Очень даже Locat-ится.

Так то оно так. А если так?
Query1.Locate("BirthDay", "11.12.", []);
Т.е. дата незакончена? Неработает. И проблемма именно в этом!


 
Stanislav ©   (2006-12-29 10:21) [16]

А так, тоже не работает?


 
Stanislav ©   (2006-12-29 10:21) [17]

select str(date())


 
ЮЮ ©   (2006-12-29 10:31) [18]

а по "1", "11", "11.", "11.1" попутно искать не хочется? :)
Может проблему сформулировать по другому? Тогда и решение найдется другое:

Select *, Day(DATA_UCHET) as Day, Month(DATA_UCHET) as Month  from REBBASE

Query1.Locate(
   "Day;Month",
   VarArrayOf([StrToIntDef(Edit1.Text, 0), StrToIntDef(Edit2.Text, 0)]),
   []
 );


 
Kvinta   (2006-12-29 10:32) [19]

Select str(date(Data_UCHET)) from REBBASE

Ошибка: Неверное число аргументов функции в выражении запроса str(date(Data_UCHET))


 
Stanislav ©   (2006-12-29 10:34) [20]

просто такой запрос, выполни select str(date())


 
Palladin ©   (2006-12-29 10:34) [21]

не str, а cstr


 
Kvinta   (2006-12-29 10:39) [22]


> Select *, Day(DATA_UCHET) as Day, Month(DATA_UCHET) as Month
>  from REBBASE

Тоже ошибка.


 
ЮЮ ©   (2006-12-29 10:42) [23]

Синтаксис acсess-овского SQL должен ты знать, коль его используешь вместо рекомендованного Microsoft-ом SQL сервера :) Ну посмотри его функции, наконец.


 
Kvinta   (2006-12-29 10:43) [24]


> не str, а cstr

Таже ошибка.


 
Stanislav ©   (2006-12-29 10:46) [25]

Эта - "Неопознаная ошибка" ?


 
ЮЮ ©   (2006-12-29 10:46) [26]

Day(x)   ===  DATEPART(dd,x)
Month(x) === DATEPART(mm,x)


 
Stanislav ©   (2006-12-29 10:48) [27]

если Stanislav ©   (29.12.06 10:46) [25]  - да,
то откомпилированный exe должен работать нормально.


 
ЮЮ ©   (2006-12-29 10:54) [28]

Сорри, DATEPART это, похоже, наоборот серверная ф-ция. А Day и Month вполне Access-овские


 
Stanislav ©   (2006-12-29 11:08) [29]

У меня все работает без проблем cstr,str, day, month
Win XP sp2, D7, jet 4.0


 
sniknik ©   (2006-12-29 11:13) [30]

Palladin ©   (29.12.06 10:34) [21]
> не str, а cstr
пофиг, есть и то и то. (если речь о jet само собой, в чем почемуто сомневаюсь чем дальше тем больше)


 
Anatoly Podgoretsky ©   (2006-12-29 15:46) [31]

> Palladin  (29.12.2006 10:34:21)  [21]

И это не JET, а ODBC


 
Anatoly Podgoretsky ©   (2006-12-29 15:47) [32]

> Kvinta  (29.12.2006 10:39:22)  [22]

И это тоже JET не поддерживает


 
Anatoly Podgoretsky ©   (2006-12-29 15:48) [33]

> ЮЮ  (29.12.2006 10:54:28)  [28]

Акцессовские, а не JET


 
Anatoly Podgoretsky ©   (2006-12-29 15:48) [34]

> Stanislav  (29.12.2006 11:08:29)  [29]

Врешь, у тебя ODBC



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

Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.125 c
15-1172722039
Константинов
2007-03-01 07:07
2007.03.25
Сегодня 1-ый день на новом месте. Что меня ждет – не знаю…


1-1170246835
adnan123
2007-01-31 15:33
2007.03.25
проблема с юникодом


4-1162362348
romick
2006-11-01 09:25
2007.03.25
Как проверить наличие бумаги в USB-принтере?


2-1173021118
Tru
2007-03-04 18:11
2007.03.25
Enabled


15-1172329940
CCil
2007-02-24 18:12
2007.03.25
Почему google стоит так не дешево?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский