Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE против ADO / 8 сообщений из 8, страница 1 из 1
28.10.2002, 13:07:51
    #32062318
MBorovik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Я хочу повторить в чём состоит проблема. Я поднимаю её не первый раз но вразумительного ответа нет. Занесение даты с миллисекундами с клиента в таблицу на MS SQL сервере. При использовании BDE без пролблем !!! Поэтому разговоры о том что делфи что то неправильно преобразует ЕРУНДА! Если пытаемся использовать ADO то миллисекунды читаются но тераяются при занесении
Михаил
...
Рейтинг: 0 / 0
28.10.2002, 13:11:33
    #32062321
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Скорее всего неправильно описаны параметры процедуры.
Вместо datetime передаётся smalldatetime/
...
Рейтинг: 0 / 0
28.10.2002, 14:00:51
    #32062342
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Ну во-первых преобразет не дельфи а движок BDE
При использовании ADO самый верный способ сохранить милисекунды - это преобразовавать дату в родной для SQL Server формат, т.е. 20021028 19:48:34.257
...
Рейтинг: 0 / 0
28.10.2002, 14:08:21
    #32062349
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Сколько раз повторять -учите мат часть товарищи!
Сам дельфи не умеет работатьс ADO! у него есть некая оберточка (corba-механизм) для работы с ADO.Само ADO - Работает без проблем с милисекундами .
А вот при трансляции через вот эту оберточку и теряются милисикунды.
Как вариант - использовать тип varchar и дату передовать в формате "yyyymmdd hh:ss:mmm".
...
Рейтинг: 0 / 0
28.10.2002, 18:24:55
    #32062449
MBorovik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
ADO без проблем читает миллисекунды! Но записывать не умеет:
ADOQuery.Edit;
ADOQuery.Fields[0].AsDateTime:= now;
ADOQuery.Post;
Миллисекунды НЕ ЗАПИСАЛИСЬ!
Тот же код для BDE
Query.Edit;
Query.Fields[0].AsDateTime:= now;
Query.Post;
Миллисекунды ЗАПИСАЛИСЬ!!!!!!!!!!!!
Михаил!
...
Рейтинг: 0 / 0
28.10.2002, 18:35:09
    #32062454
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Код: 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
28.10.2002, 19:05:42
    #32062469
DYV
DYV
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Попробуй сделать Search в MSDN'e по ключевому слову "Q193869"
...
Рейтинг: 0 / 0
29.10.2002, 10:01:32
    #32062542
dao
dao
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BDE против ADO
Так в чем вопрос? Конткретно - в чем причина того что не передаются милисекунды или как обойти это?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BDE против ADO / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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