Page 3 of 4

Posted: 19.05.2012, 17:03
by EgonHugeist
miab3,

what is 1:1? Is it 01:01:00 or 00:01:01? Here we call the rtl-functions of the compiler...

ism, Does he understand? He want to update the same values twice. First times with success, second times has nothing changed. UpdateCount = 0. Is there a reality example that this stupid code must be supported?

Michael

Posted: 19.05.2012, 17:13
by miab3
@EgonHugeist

1:1 is the text that I entered the cell grid.

This is another example of the error (with Firebird 2.5 and DXE2-64):

Michal Abramczyk

Posted: 19.05.2012, 17:14
by ism
EgonHugeist
I think he will cope with the Google translator :)

Forget about it

Posted: 19.05.2012, 17:17
by ism
miab3
1-2 3:3 not valid date, timestamp - seconds from 01.01.1970
It is out of range

Posted: 20.05.2012, 05:36
by DoctorZLO
В скриншотах я подробно показал что ЗЕОС 6 не выдает никакиех ошибок связанных со временем! И для того и для другого ЗЕОСа одна и таже таблица и один и тот же сервер MySQL! Тогда объясните мне тупому каким образом один и тот же серсер и одно и тоже поле по разному работают!? Может это всё таки ошибка компонента? Именно ошибки компонента мы тут ищем и пытаемся их исправить? Или нет может я что то не так понял?

Posted: 20.05.2012, 06:25
by DoctorZLO
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

Posted: 20.05.2012, 06:54
by DoctorZLO
Как видно из скришотов MyDAC прекрасно работает и не выдаёт никаких ошибок... Если Вы будете продолжать настаивать на том что всему виной сервер MySQL то думаю продолжать дальнейший разговор на эту тему не стоит... Думаю также понятно и то что проблем с доступом к серверу MySQL нет и белый свет на компоненте ZEOS клином не сошелся... Что есть обход ошибки и возможность продолжать использование компонента... Не понятно только Ваше желание упорно отрицать факт наличия ошибки компонента и мое желание попробовать Вам об этом рассказать... Еще раз хочу подчеркнуть что строчки присвоения времени это ошибка в чистом виде и ничего больше... Никто в своих проектах подобный (как описан тут ) код не использует... Проект в котором существует такого рода ошибка имеет по мимо поля время еще 10 полей и после некторого изменеия данных происходит повторное переприсвоение значений (согласно изменений - который выполнил пользователь, а точнее расчет суммы новых значений) ... Надеюсь от тупости кода мы тоже наконец то отойдем и перестанем говорить про эту ерунду...
ism если Вы знаете в каком pas файле или в каком приблезительно месте можно покопать исходники буду Вам искренне признателен...
Как говориться обидно, досадно но ладно...

Posted: 20.05.2012, 07:03
by DoctorZLO
Image
Image
Image
Image

Posted: 20.05.2012, 12:40
by ism
DoctorZLO
Тебе ясно сказали , зачем обновлять 2 раза одну запись ?
В предыдущих постах я указал пути решения , повторять не буду

Posted: 20.05.2012, 17:37
by EgonHugeist
DoctorZLO,

my last try to explain. This times in some codelines:

How it fails:

Code: Select all

var
  ATimeValue: TDateTime;
begin
  ATimeValue := Time();
  ZQuery1.insert;
  ZQuery1.FieldByName('id').AsInteger := ZQuery1.RecordCount+1;
  ZQuery1.fieldByName('PR_Time').AsDateTime := ATimeValue;
  ZQuery1.Post;
  for i := 0 to 10 do
  begin
    Zquery1.Edit;
    ZQuery1.FieldByName('PR_Time').AsDateTime := ATimeValue;
    try
      Zquery1.Post;
    except
      ShowMessage('Nothing changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
      ZQuery.Cancel;
    end;

    Zquery1.Edit;
    Zquery1.FieldByName('PR_Time').AsString := TimeToStr(ATimeValue);
    try
      Zquery1.Post;
    except
      ZQuery.Cancel;
      ShowMessage('Nothing changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
    end;
  end;
How it works perfectly:

Code: Select all

begin
  ZQuery1.insert;
  ZQuery1.FieldByName('id').AsInteger := ZQuery1.RecordCount+1;
  ZQuery1.fieldByName('PR_Time').AsDateTime := Time();
  ZQuery1.Post;
  for i := 0 to 10 do
  begin
    Sleep(1000); //one second is over!!!
    Zquery1.Edit;
    Zquery1.Post;
      ShowMessage('Time changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
    Sleep(1000); //again one second is over!
    Zquery1.Edit;
    Zquery1.FieldByName('PR_Time').AsString := Time();
    Zquery1.Post;
      ShowMessage('Time changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
  end;
end;
Do you understand now?

Michael

Posted: 21.05.2012, 03:51
by DoctorZLO
ism wrote:DoctorZLO
Тебе ясно сказали , зачем обновлять 2 раза одну запись ?
В предыдущих постах я указал пути решения , повторять не буду
Зачем? Зачем? Затем! Не собираюсь я все тонкости программы тут расписывать! Раз так надо значит так надо! Чето ты меня сильно расстроил...

Posted: 21.05.2012, 03:53
by DoctorZLO
EgonHugeist wrote:DoctorZLO,

my last try to explain. This times in some codelines:

How it fails:

Code: Select all

var
  ATimeValue: TDateTime;
begin
  ATimeValue := Time();
  ZQuery1.insert;
  ZQuery1.FieldByName('id').AsInteger := ZQuery1.RecordCount+1;
  ZQuery1.fieldByName('PR_Time').AsDateTime := ATimeValue;
  ZQuery1.Post;
  for i := 0 to 10 do
  begin
    Zquery1.Edit;
    ZQuery1.FieldByName('PR_Time').AsDateTime := ATimeValue;
    try
      Zquery1.Post;
    except
      ShowMessage('Nothing changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
      ZQuery.Cancel;
    end;

    Zquery1.Edit;
    Zquery1.FieldByName('PR_Time').AsString := TimeToStr(ATimeValue);
    try
      Zquery1.Post;
    except
      ZQuery.Cancel;
      ShowMessage('Nothing changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
    end;
  end;
How it works perfectly:

Code: Select all

begin
  ZQuery1.insert;
  ZQuery1.FieldByName('id').AsInteger := ZQuery1.RecordCount+1;
  ZQuery1.fieldByName('PR_Time').AsDateTime := Time();
  ZQuery1.Post;
  for i := 0 to 10 do
  begin
    Sleep(1000); //one second is over!!!
    Zquery1.Edit;
    Zquery1.Post;
      ShowMessage('Time changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
    Sleep(1000); //again one second is over!
    Zquery1.Edit;
    Zquery1.FieldByName('PR_Time').AsString := Time();
    Zquery1.Post;
      ShowMessage('Time changed:'+ ZQuery1.FieldByName('PR_Time').AsString);
  end;
end;
Do you understand now?

Michael
Thank you very much ... The decision was without falling asleep ... I think all the topic is closed ...

Posted: 21.05.2012, 11:44
by ism
С таким ником тут помощи трудно дождаться
А бесплатного сервиса тут нет

Posted: 21.05.2012, 12:54
by DoctorZLO
Понятно... Да ник странный... Просто я решил что тут обсуждаются ошибки компонента, а потом они исправляются... Мои проекты иправлять не нужно :) Прости если я тебе нагрубил...

Posted: 14.11.2012, 09:49
by DoctorRoot
The mistake has got out once again... Now it appears everywhere... To It not important what type weeding ...

Parameter Sleep does not help... I Use version 7.0 1553