【问题标题】:delphi dataset clear datetime fielddelphi 数据集清除日期时间字段
【发布时间】:2014-06-26 22:37:10
【问题描述】:

虽然我可以设置当前日期:

数据集['MY_DATE'] := 现在;

我不清楚如何清除此字段。我试过了:

数据集['MY_DATE'] :=''

但它不会工作。有什么建议吗? DB 是 SQLite。

整个代码如何使用:

procedure TDataModule1.SAL_TWITTERBeforePost(DataSet: TDataSet);
begin
if SAL_TWITTER.FieldByName('managed').AsBoolean = True then begin
DataSet['UREDIL'] := UNIQuery4.FieldByName('sotrpin').AsString;
DataSet['UREJENO_KDAJ'] :=Now;
end else
DataSet['UREDIL'] := '';
//DataSet.FieldByName('UREJENO_KDAJ').Clear; <----- does not work
end;

【问题讨论】:

  • 试试 DataSet.FieldByName('MY_DATE').Clear;
  • “它不会工作”不是一个有用的问题描述。它以什么方式不起作用?你得到一个编译器错误吗?运行时错误?还有什么?您知道“它不起作用”是什么意思,如果您也将这些信息提供给我们,它会很有用。从我们坐的地方看不到你的屏幕。
  • 该字段没有被清除。这就是我想要做的。 “它不起作用”适用于此。
  • 除了我的 DateTime 字段 'UREJENO_KDAJ' 应该被清除的部分之外,一切正常。

标签: delphi


【解决方案1】:

问题是,空字符串不代表可以设置字段的日期。

特别是,TDataSets 并不将其视为等同于将数据库字段设置为 Null,这是人们在提到“清除”字段时通常的意思。

改为:

  DataSet.FieldByName('MY_DATE').Clear;

【讨论】:

  • 我似乎必须更改该日期时间字段的 cxgrid 中的字段属性才能使此答案起作用。谢谢大家...
  • 我承认我有点困惑,为什么您的 cxGrid 中的任何属性都会影响代码中日期时间字段的清除,但我没有它的最新版本可供调查。如果您对此也感到困惑,最好的办法可能是通过通常的支持渠道直接询问 Developer Express 支持人员。
猜你喜欢
  • 2012-06-03
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多