我有一个绑定的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;