Cześć, sytuacja wygląda jak dla mnie dziwnie. Otóż.
Są 2 komputery. Na jednym z nich jest Delphi 2005 i MSSQL 2005 Express.
Na drugim no, jest MDAC 2.81 zainstalowane.
Teraz tak, posługuję się komponentami ADO.
Na komputerze, na którym jest Delphi program działa ok, natomiast:
Jeśli zapytanie:
SELECT * FROM V_LOG
WHERE [dbo].get_date(nDate)='2007-02-14' and UID=1001
ORDER BY [dbo].get_date(nDate), [dbo].get_time(nTime), nazwisko
(DOKŁADNIE takie się tworzy w programie)
wykonam na serwerze, to dostaję błąd:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
Natomiast wywołane zapytanie z programu(na kompie z Delphi) działa ok.
Jeśli natomiast napiszę to zapytanie tak(w dacie zamienione miesiące z dniami)
SELECT * FROM V_LOG
WHERE [dbo].get_date(nDate)=[dbo].get_date('2007-14-02') and UID=1001
ORDER BY [dbo].get_date(nDate), [dbo].get_time(nTime), nazwisko
to na serwerze idzie ok.
get_date zwraca mi po prostu varchara, który przedstawia tylko datę(bez czasu)
Teraz program uruchamiam na drugim kompie i wyskakuje mi błąd:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
WTF?
Tak jakby komp z Delphim wiedział, gdzie w zapytaniu ma datę(chociaż ma tam stringa) i odpowiednio zamieniał przed wysłaniem na serwer. Ale to chyba mało możliwe, co?
O co może mu chodzić?