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

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

ADO+dbf - как будут называться функции в select [D7, dBase, FoxPro]


Страницы:   1 2

Раиса ©   (2009-05-07 04:36:00) 

lower=lcase
upper=ucase

А как будут выглядеть типа substring, cast, replace и прочие, если они имеются?


Anatoly Podgoretsky   (2009-05-07 15:30:00) [21]

> Раиса  (07.05.2009 15:02:14)  [14]

Одним запросом не получится и нужен анализ на клиентской стороне и создание динамического запроса.

if End >= Start then  один еlse первый запрос объединение второй запрос
Первый запрос до 31.12.2004 и второй запрос начиная c 1.01.2004, при переформатирование дат с заменой года на константу, например 2004, SQL диалект должен позволять разделять дату на составляющие и обратное складывание, хотя бы в текстовый формат YYYYMMDD

Это при условии, что делается только запросами без применения серверных решений.


Раиса   (2009-05-07 15:02:00) [22]

Извините, я еду к врачу, поэтому вернусь часа через 4...

Игорь Шевченко ©   (07.05.09 14:52) [12]
А поподробнее... Что в фильтре? И хотелось бы запросом...


sniknik   (2009-05-07 14:58:00) [23]

> у кого дни рождения в период с 29.12 по 05.01
это уже не период, а куча периодов по одному на год

примерно так (только без гарантий на на все провайдеры кроме jet)
SELECT * FROM Table1
WHERE DateSerial(1000, Month(Date), Day(Date)) BETWEEN :Start AND :End

и задавать нужно в пределах года, если так как у тебя начало в одном конец в другом то нужно либо 2 условия либо 2 запроса. понятно почему думаю. (кстати 1000 это високосный год? вроде да, но если нет то нужно взять високосный)


Игорь Шевченко   (2009-05-07 14:52:00) [24]


> а надо выбрать всех, у кого дни рождения в период с 29.12
> по 05.01, например....


Filtered + OnFilterRecord ?


Anatoly Podgoretsky   (2009-05-07 14:45:00) [25]

> Раиса  (07.05.2009 14:27:10)  [10]

Вообще то не представляю такой запрос, BETWEEN не проходит, и очень хорошо что ты привела именно такой формат, очень наглядно. Для MS SQL и других серверов, которые работают с Юлианской датой еще представляю, но с некоторой ошибкой на стыке лет.


Раиса   (2009-05-07 14:27:00) [26]

Все же я не представляю, как будет выглядеть запрос (чтобы и работал) о днях рождениях, если в файле дата рождения в виде даты с годом, а надо выбрать всех, у кого дни рождения в период с 29.12 по 05.01, например....
Помогите, пожалуйста...


sniknik   (2009-05-07 14:22:00) [27]

> Но все-таки хочется написать в запросе: ...
хочется так напиши. а вот когда возникнет желание чтобы еще и работало...

> определить список лиц, дни рождения которых приходятся в период с ... по ... и ADO+dbf...
чтобы выбрать период нет никакой необходимости в указанных функциях, вообще в запросе не нужно ничего считать, просто определить 2 параметра и задавать их значения перед открытием.

> А как сменить провайдера на чужом компе? И кто это позволит?
не на компе и не инетовского... а используемого в твоей программе. для коннекта. почитай про ADO где нибудь...


Раиса   (2009-05-07 14:16:00) [28]

А как сменить провайдера на чужом компе? И кто это позволит?


Раиса   (2009-05-07 14:14:00) [29]

Но все-таки хочется написать в запросе: cast, substring, replace, разница между датами в днях...
А если полностью задача, то: определить список лиц, дни рождения которых приходятся в период с ... по ... и ADO+dbf...


sniknik   (2009-05-07 14:11:00) [30]

> А где смотреть ODBC +dbase?
есть очень большая вероятность, что в jet (access). зависит от версии. для однозначности надо бы сменить провайдера.


Anatoly Podgoretsky   (2009-05-07 14:10:00) [31]

> Раиса  (07.05.2009 14:02:04)  [4]

Это все потому, что то цепочка длинная {ODBC/JET/BDE(родное)}, с потерей части ДНК


Раиса   (2009-05-07 14:02:00) [32]

Попробовала Substr(str, Позиция[, Кол-во символов]) - запрос говорит, что неопределенная функция в строке.
Про str я знаю, проходит. А вот cast как будет выглядеть (из символов в дату, например)?
BDE+dbase - функции это одно.
А где смотреть ODBC +dbase?


Виталий Панасенко   (2009-05-07 13:54:00) [33]

Тогда смотрите доку по dBase... Например, определение позиции подстроки в строке будет AT(Substr, Str), вырезать подстроку Substr(str, Позиция[, Кол-во символов]) и т.д.(ltrim, rtrim, atrim)


Раиса   (2009-05-07 13:03:00) [34]

Provider=MSDASQL;Persist Security Info=False;Data Source=Файлы dBASE;Initial Catalog=путь к файлам
Настройки ODBC по умолчанию, ничего в них не меняла.


Виталий Панасенко   (2009-05-07 09:13:00) [35]

Будет зависеть от провайдера(или драйвера для ODBC провайдера)


Страницы:   1 2

Наверх

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