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

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

SQL запрос [D7, Access]


Страницы:   1 2 3

Valerik ©   (2008-11-25 10:46:00) 

Помгите пожалуйста с запросом!!!!
Form2.ADOQuery1.SQL.Add('select * from Otchet Where data='+DateTimePicker1.+'');

Дает ошибку:Число содержит синтаксическую ошибку в выражении запроса 'data=24.11.2008'

В чем может быть проблема?


Anatoly Podgoretsky   (2008-11-26 21:58:00) [1]

С odbc не все так радостно.


stas   (2008-11-26 13:20:00) [2]

sniknik ©   (26.11.08 13:13) [40]
Ну,да... не работает.
Странно где-то читал что это формат даты соответствует стандарту, который используют все СУБД.


sniknik   (2008-11-26 13:13:00) [3]

> Это вроде любая СУБД правильно понимает.
а ты проверь... и огласи список.

если уж нужен строковый формат для любой(вернее для как можно большего количества, любая это слишком самоуверенно) то тогда надо брать формат представления odbc 2008-11-26, "засилье" odbc было длительным и многие вводили поддержку и ради совместимости будут держать дальше. тогда их будет больше, но не все естественно.


stas   (2008-11-26 13:05:00) [4]

>sniknik ©   (26.11.08 13:02) [38]
Это вроде любая СУБД правильно понимает.


sniknik   (2008-11-26 13:02:00) [5]

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

> Если уже преобразовал в стринг, то нужно в такой формат YYYYMMDD, т.е. 20081126.
не путай акцесс и мсскл

> Его проблема в том, что у него в БД дата в строке хранится.
вряд ли. если бы у него была строка мой тест не сработал бы.


Anatoly Podgoretsky   (2008-11-26 12:34:00) [6]

> Sergey13  (26.11.2008 11:49:35)  [35]

Тогда это не дата, а набор символов.


Palladin   (2008-11-26 12:00:00) [7]


>  Его проблема в том, что у него в БД дата в строке хранится.

хто сказал? variant - содержащий строковые данные при попытке обратиться к нему как к TDateTime будет пытаться преобразовать эту строку


Sergey13   (2008-11-26 11:49:00) [8]

> [34] Правильный$Вася   (26.11.08 11:08)
> параметр должен идти тем типом, какой он есть "в натуре",

Как я понял, он у автора так и идет. Его проблема в том, что у него в БД дата в строке хранится.


Правильный$Вася   (2008-11-26 11:08:00) [9]


> Если уже преобразовал в стринг, то нужно

не нужно!
параметр должен идти тем типом, какой он есть "в натуре", без всяких преобразований, которые даже если не обманывают СУБД (что часто случается), то вынуждают его делать обратные преобразования, что и накладно по времени/ресурсам, и может привести к неверному обратному преобразованию
и при нормальном "тип-в-тип" использовании параметров нет никакой необходимости помнить все эти бредовые недоформаты, специфичные для каждой СУБД каждой ее версии на каждой локали под каждой учеткой


stas   (2008-11-26 10:06:00) [10]

Palladin ©   (25.11.08 21:56) [29]
))
Правильный$Вася   (25.11.08 21:50) [28]
За параметры было написано в [4], зачем дублировать?
А я ничего не подсовывал ))
А сказал как правильно записывать запрос с использованием даты.
Я же не писал не слушай [4], а делай как в [5].

Valerik ©   (25.11.08 14:11) [15]
Если уже преобразовал в стринг, то нужно в такой формат YYYYMMDD, т.е.
20081126.


Palladin   (2008-11-26 09:13:00) [11]


> Valerik ©   (26.11.08 09:03) [31]

а ты всю ветку прочитал?


Valerik   (2008-11-26 09:03:00) [12]

Так может кто нибудь подсказать, как это делается правильно????


Valerik   (2008-11-26 09:03:00) [13]


> sniknik ©   (25.11.08 15:42) [23]


Ты думаешь я не понял, что разницы ни какой????


Palladin   (2008-11-25 21:56:00) [14]

негодяй! ;)


Правильный$Вася   (2008-11-25 21:50:00) [15]


> stas ©   (25.11.08 20:53) [27]

но ты и не говорил, что их нужно использовать
напротив, ты решительно подсовывал заведомо порочный способ


stas   (2008-11-25 20:53:00) [16]

>Правильный$Вася   (25.11.08 18:39) [25]
Palladin ©   (25.11.08 18:41) [26]
Я  нигде и не говорил что параметры не нужно использовать.


Palladin   (2008-11-25 18:41:00) [17]

особенно для того, что бы потом не скакать по всему проекту исправляя запросы при смене СУБД


Правильный$Вася   (2008-11-25 18:39:00) [18]


> stas ©   (25.11.08 17:08) [24]

многое нужно знать, а еще больше нужно знать, что делать НЕ надо
даже если есть такая возможность


stas   (2008-11-25 17:08:00) [19]

Sergey13 ©   (25.11.08 11:57) [6]
qqq   (25.11.08 13:10) [7]

Параметры параметрами,  а синтаксис sql движка с которым работаешь надо знать.


sniknik   (2008-11-25 15:42:00) [20]

> А в чем разница????
дальтоник? нет разницы (в принципе задания. есть только в цифрах > 12 и <=), а результат для разных случаев различается. и подумай что будет если ты на таких недостоверных данных будешь к примеру зарплату начислять... побьют ведь (как минимум).


Страницы:   1 2 3

Наверх

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