powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE против ADO
8 сообщений из 8, страница 1 из 1
BDE против ADO
    #32062318
MBorovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу повторить в чём состоит проблема. Я поднимаю её не первый раз но вразумительного ответа нет. Занесение даты с миллисекундами с клиента в таблицу на MS SQL сервере. При использовании BDE без пролблем !!! Поэтому разговоры о том что делфи что то неправильно преобразует ЕРУНДА! Если пытаемся использовать ADO то миллисекунды читаются но тераяются при занесении
Михаил
...
Рейтинг: 0 / 0
BDE против ADO
    #32062321
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего неправильно описаны параметры процедуры.
Вместо datetime передаётся smalldatetime/
...
Рейтинг: 0 / 0
BDE против ADO
    #32062342
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну во-первых преобразет не дельфи а движок BDE
При использовании ADO самый верный способ сохранить милисекунды - это преобразовавать дату в родной для SQL Server формат, т.е. 20021028 19:48:34.257
...
Рейтинг: 0 / 0
BDE против ADO
    #32062349
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько раз повторять -учите мат часть товарищи!
Сам дельфи не умеет работатьс ADO! у него есть некая оберточка (corba-механизм) для работы с ADO.Само ADO - Работает без проблем с милисекундами .
А вот при трансляции через вот эту оберточку и теряются милисикунды.
Как вариант - использовать тип varchar и дату передовать в формате "yyyymmdd hh:ss:mmm".
...
Рейтинг: 0 / 0
BDE против ADO
    #32062449
MBorovik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADO без проблем читает миллисекунды! Но записывать не умеет:
ADOQuery.Edit;
ADOQuery.Fields[0].AsDateTime:= now;
ADOQuery.Post;
Миллисекунды НЕ ЗАПИСАЛИСЬ!
Тот же код для BDE
Query.Edit;
Query.Fields[0].AsDateTime:= now;
Query.Post;
Миллисекунды ЗАПИСАЛИСЬ!!!!!!!!!!!!
Михаил!
...
Рейтинг: 0 / 0
BDE против ADO
    #32062454
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
with ADOQuery1 do
 begin
   Close;
   SQL.Clear;
   SQL.Add('exec add_date');
   SQL.Add('@date='+FD2SQL(<your_date>));
   try
    ExecSQL;
   except
   end;
 end;

function FD2SQL(ADateEdit : TDateTime) : string;
var Year, Month, Day : word;
    s : string;
begin
  if ADateEdit =  0 
  then Result:='NULL'
  else begin
    DecodeDate(ADateEdit, Year, Month, Day);
    s:='';
    s:=s+IntToStr(Year);
    if Month <  10  then s:=s+'0';
    s:=s+IntToStr(Month);
    if Day <  10  then s:=s+'0';
    s:=s+IntToStr(Day);
    s:=s+' 00:00:00';
    Result:=chr($ 27 )+s+chr($ 27 );
  end;
end;
...
Рейтинг: 0 / 0
BDE против ADO
    #32062469
DYV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DYV
Гость
Попробуй сделать Search в MSDN'e по ключевому слову "Q193869"
...
Рейтинг: 0 / 0
BDE против ADO
    #32062542
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в чем вопрос? Конткретно - в чем причина того что не передаются милисекунды или как обойти это?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE против ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]