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

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

Не получается в TADOStoredProc работать с MS SQL 2000 с DateTime [D6, MSSQL]


Alexander Tarasov ©   (2003-06-02 14:42:00) 

Уважаемые коллеги!

Подскажите, пожалуйста, что я делаю не так?

Есть ХП в MS SQL 2000, которая имеет входной параметр @field3_3 типа DATETIME. В программе пишу:

ADOStoredProc1.Parameters.ParamByName("@field3_3").Value := "01.01.2003";
ADOStoredProc1.ExecProc;


На ExecProc получаю ошибку:
"[Micrisoft][ODBC SQL Server Driver]Optional feature not implemented"

С параметрами других типов проблем нет. Пробовал менять формат даты, операционную систему, ставил Update pack 2 - помогает :(


Nic_B   (2003-06-03 09:36:00) [1]

Не знаю как на MS SQL 2000 но у меня на стареньком MS SQL 6.5 работает такой код:

function TForm1.SQL_Date_String ( Date : TDateTime ): string;
var OldFormat : string;
ResultStr : string;
begin
If Date>0 then
begin
OldFormat:=ShortDateFormat;
ShortDateFormat:="mm/dd/yyyy";
ResultStr:=DateToStr(Date);
ShortDateFormat:=OldFormat;
Result:=copy(ResultStr,7,4)+copy(ResultStr,1,2)+copy(ResultStr,4,2);
end
else
Result:="";
end;


Alexander Tarasov   (2003-06-03 09:25:00) [2]

Большое спасибо всем за советы...
Проблему удалось решить следующим образом:
перед инициализацией параметров поставил
ADOStoredProc1.Parameters.Refresh;
:)


интересующийся   (2003-06-03 07:00:00) [3]

может лучше сделать параметр string,
а внутри процедуры значение преобразовать в datetime
- знаешь свой формат даты
- не зависишь от формата даты сервера
- при установке на другой сервер не паришься


Тих   (2003-06-02 23:27:00) [4]

FormatDateTime => "2003-01-01"


NAlexey   (2003-06-02 16:21:00) [5]

Попробуй не string присваивать, а дату.


Наверх

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