Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

ADO?   Найти похожие ветки 

 
CRACKISH   (2004-08-17 10:45) [0]

Люди вот у при попытки подключения к серверу, ADOConnection, выдает такую ошибку: <a>http://mail.yandex.ru/img/%C1%E5%E7%FB%EC%FF%ED%ED%FB%E9.jpg?hid=880000000004107128&bid=880000000004107128&mesid=7700 00000011121840!</a> Что делать?


 
CRACKISH   (2004-08-17 10:45) [1]

http://mail.yandex.ru/img/%C1%E5%E7%FB%EC%FF%ED%ED%FB%E9.jpg?hid=880000000004107128&bid=880000000004107128&mesid=7700000 00011121840


 
stone ©   (2004-08-17 10:47) [2]

по этой ссылке ничего не открывается


 
CRACKISH   (2004-08-17 10:51) [3]

"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value."


 
Ega23 ©   (2004-08-17 10:53) [4]

Что-делать, что-делать...
Char в DateTime правильно кастовать, вот что делать...


 
Рамиль ©   (2004-08-17 10:54) [5]

ну ты дал ссылку :o) Это ж почтовый ящик, как оттуда что нибудь может открыться?


 
CRACKISH   (2004-08-17 10:56) [6]


> Char в DateTime правильно кастовать, вот что делать...


Спасибо! Но где это находится? :-)


 
stone ©   (2004-08-17 11:11) [7]


> CRACKISH

покажи как конвертируешь


 
Ega23 ©   (2004-08-17 11:18) [8]

stone ©   (17.08.04 11:11) [7]

Я так подозреваю, что это при коннекшене происходит.


 
CRACKISH   (2004-08-17 11:22) [9]

В смысле конвертируешь! (Извените я новенький в этом деле!)
Я просто выставил все параметры подключения, и пишу ADOConnection1.Open !
У меня на компе все ok! но на работе выдает это сообщение!


 
stone ©   (2004-08-17 11:43) [10]

ТЕЛЕПАТЫ В ОТПУСКЕ

> Я просто выставил все параметры подключения, и пишу ADOConnection1.Open
> !
> У меня на компе все ok! но на работе выдает это сообщение!

Покажи параметры подключения

> The conversion of a char data type to a datetime data type
> resulted in an out-of-range datetime value.

При выполнении чего возникает ошибка?


 
CRACKISH   (2004-08-17 11:53) [11]


> Покажи параметры подключения


Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=R_TAXI;Data Source=S_NT


> При выполнении чего возникает ошибка?


При подключении! (ADOConnection1.Open)


 
stone ©   (2004-08-17 12:00) [12]


> При подключении! (ADOConnection1.Open)

Сомневаюсь. Вероятнее всего в дизайн-тайм свойство Active у каких-либо датасетов установлено в True, и при их открытии возникает ошибка.


 
ZrenBy ©   (2004-08-17 12:06) [13]

Ага, и на другой машине формат дат другой

set dateformat mdy
select cast("12.22.2000" as datetime)
select cast("20001222"   as datetime)

set dateformat dmy
select cast("12.22.2000" as datetime)
select cast("20001222"   as datetime)


 
CRACKISH   (2004-08-17 12:18) [14]

Проверил! прога коннекится нормально, ошибка вылазит при выполнения запроса:

Query.SQL.Clear;
Query.SQL.Add("select Sum(NumberOfOrders) from _ExecutedOrders");
Query.SQL.Add("where (ClientGetOut between """+DateToStr(S_Date.date)+" "+TimeToStr(S_time.Time)+""" and """+DateToStr(Po_Date.date)+" "+TimeToStr(Po_time.Time)+""") and (TypeFailID is null) and (TravelTypeID in (1,2,20,22))");
Query.Open;

S_time, Po_time, S_Date, Po_Date - TDateTimePicker
Посмотрел в bde administatoe (дома) в закладке formats>date>seperator стоит / , а на работе точка!

А не поможет мне Separator:="." в оброботчике Oncreate ?


 
Ega23 ©   (2004-08-17 12:23) [15]

Посмотрел в bde administatoe (дома) в закладке formats>date>seperator стоит / , а на работе точка!

1. Где связь между bde administator и ADO?
2. Покажи весь текст перед Open (Query.Sql.Text)


 
CRACKISH   (2004-08-17 12:24) [16]

Это и есть весь текст!


 
stone ©   (2004-08-17 12:25) [17]


> """+DateToStr(Po_Date.date)+" "+TimeToStr(Po_time.Time)+"""

Тут ошибка. Формат даты в MSSQL не соответствует вомату даты на компьютере. В таких случая лучше использовать параметры. Можно также добавить set dateformat (нужный формат) в запрос


 
CRACKISH   (2004-08-17 12:27) [18]

ADOConnection.Open;

Query.SQL.Clear;
Query.SQL.Add("select Sum(NumberOfOrders) from _ExecutedOrders");
Query.SQL.Add("where (ClientGetOut between """+DateToStr(S_Date.date)+" "+TimeToStr(S_time.Time)+""" and """+DateToStr(Po_Date.date)+" "+TimeToStr(Po_time.Time)+""") and (TypeFailID is null) and (TravelTypeID in (1,2,20,22))");
Query.Open;


 
CRACKISH   (2004-08-17 12:28) [19]


> Тут ошибка. Формат даты в MSSQL не соответствует вомату
> даты на компьютере. В таких случая лучше использовать параметры.
> Можно также добавить set dateformat (нужный формат) в запрос


А в каких параметрах? а как в запросе?


 
Ega23 ©   (2004-08-17 12:28) [20]

Это и есть весь текст!

МНЕ НЕ НУЖЕН ТЕКСТ ТИПА ТАКОГО: where (ClientGetOut between """+DateToStr(S_Date.date)+" "+TimeToStr(S_time.Time)+""" and """+DateToStr(Po_Date.date)+" "+TimeToStr(Po_time.Time)+""") and (TypeFailID is null) and (TravelTypeID in (1,2,20,22))"

Я не собираюсь сидеть и разбираться в твоих апострофах, DateToStr"ах и прочьей галиматье. Покажи чему равно SQL.Text после всех ADD.


 
CRACKISH   (2004-08-17 12:38) [21]

Ни чему!


 
Ega23 ©   (2004-08-17 12:43) [22]

Тогда у тебя твоё "Ни чему!" пытается выполнится. Хотя, судя по эксепшену, это не так.


 
stone ©   (2004-08-17 12:45) [23]

Если ты недостаточно владеешь требуемым диалектом SQL и не знаешь тонкостей работы с данной СУБД, то такими конструкциями:

> Query.SQL.Clear;
> Query.SQL.Add

пользоваться не рекомендую. Лучше сразу жестко текст запроса в Query, передавая все условия через параметры.

ЗЫ. Лекцию как писать запросы с параметрами читать не буду


 
CRACKISH   (2004-08-17 13:11) [24]

Проерил прогу с запросом без TDateTimePicker!
Все рабоатет!
Формат на сервере SQL:
дата: yyyy-mm-dd
время: h:m:s.ms
формат в TDateTimePicker:
дата: dd.mm.yyyy
время: h:m:s

Как перебразовать формат TDateTimePicker в формат SQL?
Спасибо!


 
Ega23 ©   (2004-08-17 13:29) [25]

Чему равно DateToStr(S_Date.date)+" "+TimeToStr(S_time.Time)?


 
Skyle ©   (2004-08-17 13:37) [26]


> Как перебразовать формат TDateTimePicker в формат SQL?

FormatDateTime?


 
CRACKISH   (2004-08-17 13:40) [27]


> Чему равно DateToStr(S_Date.date)+" "+TimeToStr(S_time.Time)?


17.08.2004 12:40:00


> FormatDateTime?


Пробывал но чтото он не пашет!


 
Skyle ©   (2004-08-17 13:42) [28]


> Пробывал но чтото он не пашет!

А как пробовал?


 
CRACKISH   (2004-08-17 13:43) [29]

Я хочу чтоб при вводе формат TDateTimePicker оставался прежним, а уже в запросе был формат SQL!


 
CRACKISH   (2004-08-17 13:45) [30]


> А как пробовал?


S_Time.Format:="H:m:s.ms";
S_Time.Format:="H:m:s.ms";
S_Date.Format:="yyyy-MM-dd";
Po_Date.Format:="yyyy-MM-dd";

Всеравно выдает формат прежний!


 
Skyle ©   (2004-08-17 13:46) [31]


>  [30] CRACKISH   (17.08.04 13:45)

А это всё нафига?
FormatDateTime можно использовать вместо DateToStr(...) + TimeToStr(...)


 
CRACKISH   (2004-08-17 13:52) [32]


> FormatDateTime можно использовать вместо DateToStr(...)
> + TimeToStr(...)


А как?


 
Skyle ©   (2004-08-17 13:56) [33]

DateToStr(s_Date.date) + " " + TimeToStr(s_Time.Time)
меняем на
FormatDateTime(Нужный формат даты/времени, S_Date.Date + S_Time.Time)

например так.


 
CRACKISH   (2004-08-17 14:11) [34]

Огромное всем спасибо!


 
CRACKISH   (2004-08-17 15:17) [35]

Вот появились еще проблемы:
При выполнении одного запроса:

Query.SQL.Clear;
Query.SQL.Add("select Sum(NumberOfOrders) from _ExecutedOrders");
Query.SQL.Add("where (ClientGetOut between """+FormatDateTime("yyyy-MM-dd", S_Date.Date)+" "+FormatDateTime("H:m:s", S_time.Time)+".000"" and """+FormatDateTime("yyyy-MM-dd", Po_Date.Date)+" "+FormatDateTime("H:m:s", Po_time.Time)+".000"") and (TypeFailID is null) and (TravelTypeID in (3,6,10,13,16,21,23))");
Query.Open;


Все нормально, но если дальше написать второй:
Query.SQL.Clear;
Query.SQL.Add("select Sum(NumberOfOrders) from _ExecutedOrders");
Query.SQL.Add("where (ClientGetOut between """+FormatDateTime("yyyy-MM-dd", S_Date.Date)+" "+FormatDateTime("H:m:s", S_time.Time)+".000"" and """+FormatDateTime("yyyy-MM-dd", Po_Date.Date)+" "+FormatDateTime("H:m:s", Po_time.Time)+".000"") and (TypeFailID is null) and (TravelTypeID in (1,2,20,22))");
Query.Open;


То обратно выдает туже ошибку!


 
Ega23 ©   (2004-08-17 16:13) [36]

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


 
CRACKISH   (2004-08-17 16:29) [37]

select Sum(NumberOfOrders) from _ExecutedOrders
where (ClientGetOut between "2004-08-16 0:0:0.000" and ""2004-08-17 0:0:0.000") and (TypeFailID is null) and (TravelTypeID in (1,2,20,22))


Этот чтоли?


 
Ega23 ©   (2004-08-17 16:31) [38]

Этот чтоли?

О! Наконец-то!

and ""2004-08-17 0:0:0.000")

апостроф лишний


 
CRACKISH   (2004-08-17 16:41) [39]

то помарка! :-)


 
Ega23 ©   (2004-08-17 16:49) [40]

Ок, помарка, так помарка. Запрос в QA идёт?



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

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.036 c
14-1092426242
Паскальные надписи
2004-08-13 23:44
2004.09.05
Приступ болезни "оптимизация" - типы


14-1092418985
able
2004-08-13 21:43
2004.09.05
Windows XP prof


1-1093180013
bloodman
2004-08-22 17:06
2004.09.05
как получить доступ к контроллу из dll??


6-1088704608
Vladimir_v
2004-07-01 21:56
2004.09.05
Socket Error # 10054


3-1092131443
natasha
2004-08-10 13:50
2004.09.05
Unicode в Delphi 2