我有一个数据类型为char的表列,通过使用ADO数据集,我正在获取数据。但由于类型为char,它在显示数据时会在末尾加上额外的空格。此ADO数据集所在的窗体可由许多窗体继承。我想通过使用一些ADO数据集属性在父窗体上的Delphi代码中进行一些更改来裁剪额外的空格
我利用了数据字段的FixedChar属性,将其设置为false,但这并不起作用
发布于 2019-05-29 14:33:36
Select Cast(mycharcolumn as varchar(10)) as mynewcharcolumn from tablename
如果您可以更改检索数据的查询,就可以在数据集级别将char列有效地转换为varchar列。
如果无法对查询进行更改,则另一种方法是将计算列添加到数据集的Tfield
列表中,并且在OnCalcFields事件处理程序中,可以对计算字段的值进行Trim(mycharcolumn)
以“计算”该字段的值,然后在代码中使用该值来代替原始字段。
发布于 2019-06-01 03:14:29
您还可以设置字段的OnGetText事件并修剪文本:
procedure TMyForm.AdoDataSet1GetText(Sender: TField; var Text: string; DisplayText: Boolean);
begin
Text := Trim(Text);
end;
https://stackoverflow.com/questions/56354097
复制相似问题