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

Вниз

не работает запрос через Clientdataset   Найти похожие ветки 

 
nick2000 ©   (2007-09-14 10:38) [0]

Привет!У меня на серваке крутится сервер базы(ADOQuery,DataSetProvider2), соединяюсь через SocketConnection,clientdataset.Делаю запрос по дате, типа :
s1:="10-09-2007"
clientdataset1.CommandText="select * from base where s5="+s1;
поле s5- тип date
выдает пустой результат,хотя точно есть записи которые удовлетворяют условию. если делаю запрос не по дате а по какой-нибудь строке, то все нормально, выдает результат. Кто нибудь знает почему так и что сделать чтоб работал запрос по дате?


 
Desdechado ©   (2007-09-14 10:47) [1]

Использовать параметры.


 
Плохиш ©   (2007-09-14 10:47) [2]

Используй параметры.
PS.

> s1:="10-09-2007"

Это не дата, а строка.


 
ЮЮ ©   (2007-09-14 10:53) [3]

10-09-2007 = -2006
поэтому select * from base where s5=10-09-2007 эквивалентен
select * from base where s5=-2006 (вряд ли есть данные за тот период :)

Строковое представление даты у разных серверов разное, боле того может зависеть от настроек.
Поэтому во избежания геморроя лучше использовать параметр
select * from base where s5 = :s5
и присваивать ему значения типа TDateTime


 
Anatoly Podgoretsky ©   (2007-09-14 11:33) [4]

> Плохиш  (14.09.2007 10:47:02)  [2]

Поскольку это конкатернируется с запросом, то это не строка, а литеральное арифметическое выражение. ЮЮ сказал к чему приводит вычисление этого выражения, вот если бы использовался QuotedStr то это была бы строка, точнее строковый литерал.


 
Desdechado ©   (2007-09-14 12:02) [5]

> если бы использовался QuotedStr то это была бы строка
Но это не спасет автора от несуразностей представления - 10 сентября или 9 октября или вообще неподдерживаемый формат.
Только параметры.


 
Anatoly Podgoretsky ©   (2007-09-14 12:08) [6]

> Desdechado  (14.09.2007 12:02:05)  [5]

Спасет только лоботомия


 
Desdechado ©   (2007-09-14 12:46) [7]

> Спасет только лоботомия
Это для клинического случая. В остальных вполне можно обойтись хорошим наставником.



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

Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
2-1190198322
Василий
2007-09-19 14:38
2007.10.14
Как изменить внешний вид


2-1190181588
foma_nk
2007-09-19 09:59
2007.10.14
Format


15-1189270196
УАув
2007-09-08 20:49
2007.10.14
Двумерный массив в качестве параметра с С++


15-1189932164
исследователь
2007-09-16 12:42
2007.10.14
Работа с TAdoQuery


15-1189831668
Aller
2007-09-15 08:47
2007.10.14
порты в freebsd





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский