Форум: "Потрепаться";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Вниз
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;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.317 c