Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Not a valid time format?
#6
(07-02-2020, 10:11 AM)or Mikael Nilsson Wrote:
(07-02-2020, 09:54 AM)Alexandre Machado Wrote: Is there a control attached to a TField? If so, which control class is this?

No

This is the code in error

procedure TfrmUserDetail.DbToForm;
var
  i:Integer;
begin
  inpUID.Text:= AnsiLowerCase(UserSession.FDQryUsersMod.FieldByName('UserID').AsString);
  inpEnamn.Text:= UserSession.FDQryUsersMod.FieldByName('Enamn').AsString;
  inpFnamn.Text:= UserSession.FDQryUsersMod.FieldByName('Fnamn').AsString;
  inpTel.Text:= UserSession.FDQryUsersMod.FieldByName('Tel').AsString;
  inpFax.Text:= UserSession.FDQryUsersMod.FieldByName('Fax').AsString;
  inpEmail.Text:= UserSession.FDQryUsersMod.FieldByName('Email').AsString;
  inpuPw.Text:= UserSession.FDQryUsersMod.FieldByName('PW').AsString;
  if (UserSession.FDQryUsersMod.FieldByName('Funktion').AsString = 'A') then begin
    inpFunction.ItemIndex:=0;
  end
  else begin
    inpFunction.ItemIndex:=1;
  end;
  lblCD.Caption:='Last change date: ' + UserSession.FDQryUsersMod.FieldByName('AndDat').AsString;
  inpMob.Text:=UserSession.FDQryUsersMod.FieldByName('Mobnr').AsString;
  cbxeConnectivity.Checked:=UserSession.FDQryUsersMod.FieldByName('WWDAUTH_eConnectivity').AsBoolean;
  cbxCompany.Checked:=UserSession.FDQryUsersMod.FieldByName('WWDAUTH_Company').AsBoolean;
  cbxTestUser.Checked:=UserSession.FDQryUsersMod.FieldByName('TestUser').AsBoolean;
  cbxCompanyAdmin.Checked:=UserSession.FDQryUsersMod.FieldByName('CompanyAdmin').AsBoolean;
end;

Sorry wrong procedure.

This was the one in error

procedure TfrmUserDetail.FormToDb;
var
  ExpPeriod:Integer;
  aDatePwe: TDateTime;
begin

  if (UserSession.UserMode = 0)  then begin  { Insert }
  ExpPeriod:=StrToInt(UserSession.ReadProfileValue('SYSTEM', 'PW', 'PWEXPPER', '0')); {Expiration period in days }
    aDatePwe:=incDay(Now,ExpPeriod);
    UserSession.FDQryUsersMod.Insert;
    UserSession.FDQryUsersMod.FieldByName('UserID').AsString              := AnsiUppercase(inpUID.Text);
    UserSession.FDQryUsersMod.FieldByName('PartID').AsInteger              := UserSession.UsersSelectedPartId;
    UserSession.FDQryUsersMod.FieldByName('Uppldat').AsString              := FormatDateTime('c',now);
    UserSession.FDQryUsersMod.FieldByName('PwStatus').AsString              := '0';  { Normal }
    UserSession.FDQryUsersMod.FieldByName('PwExpirationDate').AsString      := FormatDateTime('yyyy-mm-dd',aDatePwe);
    UserSession.FDQryUsersMod.FieldByName('PwChangeDate').Clear;
  end
  else begin
    UserSession.FDQryUsersMod.Edit;
    if (UserSession.SysUser) then begin                                  { Allowed to move a user from one part to another }
      UserSession.FDQryUsersMod.FieldByName('PartID').AsInteger            := StrToInt(inpCompany.Items.ValueFromIndex[inpCompany.ItemIndex]);
    end;
  end;
  UserSession.FDQryUsersMod.FieldByName('Enamn').AsString                  := inpEnamn.Text;
  UserSession.FDQryUsersMod.FieldByName('Fnamn').AsString                  := inpFnamn.Text;
  UserSession.FDQryUsersMod.FieldByName('Tel').AsString                    := inpTel.Text;
  UserSession.FDQryUsersMod.FieldByName('Fax').AsString                    := inpFax.Text;
  UserSession.FDQryUsersMod.FieldByName('Email').AsString                  := AnsiLowerCase(inpEmail.Text);
  UserSession.FDQryUsersMod.FieldByName('PW').AsString                      := inpuPw.Text;
  UserSession.FDQryUsersMod.FieldByName('Funktion').AsString                := inpFunction.Items.ValueFromIndex[inpFunction.ItemIndex];
  UserSession.FDQryUsersMod.FieldByName('Anddat').AsString                  := FormatDateTime('c',now);
  UserSession.FDQryUsersMod.FieldByName('Mobnr').AsString                  := inpMob.Text;
  UserSession.FDQryUsersMod.FieldByName('WWDAUTH_eConnectivity').AsBoolean  := False;
  UserSession.FDQryUsersMod.FieldByName('WWDAUTH_eConnectivity').AsBoolean  := cbxeConnectivity.Checked;
  UserSession.FDQryUsersMod.FieldByName('WWDAUTH_Company').AsBoolean        := False;
  UserSession.FDQryUsersMod.FieldByName('WWDAUTH_Company').AsBoolean        := cbxCompany.Checked;
  UserSession.FDQryUsersMod.FieldByName('TestUser').AsBoolean              := False;
  UserSession.FDQryUsersMod.FieldByName('TestUser').AsBoolean              := cbxTestUser.Checked;
  UserSession.FDQryUsersMod.FieldByName('CompanyAdmin').AsBoolean          := False;
  UserSession.FDQryUsersMod.FieldByName('CompanyAdmin').AsBoolean          := cbxCompanyAdmin.Checked;

end;

To me it appears as if you are trying to add a date or datetime value to a DB field (eg. UserSession.FDQryUsersMod.FieldByName('Uppldat').AsString := FormatDateTime('c',now); ).

You are using .AsString in the assignment, converting the value to a string. Is the field you are trying to fill, a string (varchar) or date / Datetime (smalldate) ? If it is a date, you cannot assign a datevalue as a string. The assign will try to add the text '2020-12-29', including the hyphens, to a datetime field. Thus the error.

Use .AsDate or AsDateTime instead and do not convert value to a text.

Regards
Soren
Reply


Messages In This Thread
Not a valid time format? - by Mikael Nilsson - 06-29-2020, 10:44 AM
RE: Not a valid time format? - by Mikael Nilsson - 07-02-2020, 09:24 AM
RE: Not a valid time format? - by Mikael Nilsson - 07-02-2020, 10:11 AM
RE: Not a valid time format? - by SorenJensen - 07-02-2020, 01:43 PM
RE: Not a valid time format? - by Mikael Nilsson - 07-02-2020, 01:59 PM
RE: Not a valid time format? - by SorenJensen - 07-02-2020, 02:08 PM
RE: Not a valid time format? - by SorenJensen - 07-02-2020, 03:31 PM
RE: Not a valid time format? - by Mikael Nilsson - 07-03-2020, 06:57 AM
RE: Not a valid time format? - by Mikael Nilsson - 07-03-2020, 12:35 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)