使用ado数据集修剪从delphi中从表中获取的字符串数据

时间:2019-05-29 06:09:28

标签: delphi

我有一个数据类型为char的表列,并通过使用ADO数据集来获取数据。但是由于是char类型,它将显示带有尾随多余空格的数据。并且此ADO数据集所在的表单被许多表单继承。我想通过使用一些ADO数据集属性

在父表单上的Delphi代码中进行一些更改来修剪多余的空间

我通过将数据字段的FixedChar属性设置为false来使用它,但这没用

2 个答案:

答案 0 :(得分:0)

Select Cast(mycharcolumn as varchar(10)) as mynewcharcolumn from tablename

如果您可以更改检索数据的查询(如我在此处所示),则可以在数据集级别将char列有效地转换为varchar列。

如果无法更改查询,则另一种方法是将计算列添加到数据集的Tfield列表中,并且在OnCalcFields事件处理程序中,您可以Trim(mycharcolumn)来执行以下操作: “计算”计算后的字段的值,然后在代码中使用它来代替原始字段。

答案 1 :(得分:0)

您还可以设置字段的OnGetText事件并修剪文本:

procedure TMyForm.AdoDataSet1GetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
  Text := Trim(Text);
end;