Delphi XE7多设备SQL错误TIMESTAMP Ret.字段



我有一个绑定的SQLTIMESTAMP(来自数据模块的查询的SQL输出)

(实时绑定)->BindVIsually TTMFSMXGRID。

当我打开查询时,该字段已正确填写在网格中(例如:06/05/2016等)

但当我尝试将Cell[x,y]作为StringToSqltimestamp时,它会以不同的格式(WRONG FORMAT)返回。我正试图将字段用于查询,所以它会使我出错(EOF),因为在该日期中找不到任何内容。

dm1.UpdMsg.ParamByName('data').AsSQLTimeStamp:=StrToSQLTimeStamp(GrRec.Cells[1,GrRec.FocusedCell.Row]);

你知道怎么解决吗?

与其他日期/时间格式化函数一样,StrToSqlTimeStamp()默认使用基于当前系统区域设置的格式化条件。如果这与您需要的不匹配(例如,可能日期和月份被交换),您可以使用接受TFormatSettings作为输入的重载版本,这样您就可以自定义它

var
  Fmt: TFormatSettings;
begin
  // Get default settings first...
  Fmt := TFormatSettings.Create;
  // customize Fmt as needed...
  Fmt.ShortDateFormat := 'dd/mm/yyyy';
  Fmt.DateSeparator := '/';
  // not convert...
  dm1.UpdMsg.ParamByName('data').AsSQLTimeStamp := StrToSQLTimeStamp(GrRec.Cells[1,GrRec.FocusedCell.Row], Fmt);
end;

最新更新