连接 TFields 值
Concatenating TFields values
我在客户端数据集中有一个计算字段,名为备忘录类型的完整地址。
我想连接地址字段,像这样:
TField* f = customersCDS->FieldByName("full_address");
if(f)
{
f->Value = customersCDS->FieldByName("address_line1")->Value;
f->Value += "\n";
f->Value += customersCDS->FieldByName("address_line2")->Value;
..
}
但是,上面的方法不起作用。我收到编译器错误:
E2015 Ambiguity between '_fastcall operator Variant::float() const' and '_fastcall operator Variant::double() const'
最后想把计算字段绑定一个TMemo,多行显示完整地址
TField::Value
是一个 属性。您不能对属性使用复合赋值运算符,例如 +=
。你必须分开使用+
和=
,例如:
TField* f = customersCDS->FieldByName("full_address");
if (f)
{
f->Value = customersCDS->FieldByName("address_line1")->Value;
f->Value = f->Value + String("\n");
f->Value = f->Value + customersCDS->FieldByName("address_line2")->Value;
..
}
在这种情况下,您最好改用变量:
TField* f = customersCDS->FieldByName("full_address");
if (f)
{
String s = customersCDS->FieldByName("address_line1")->Value;
s += "\n";
s += customersCDS->FieldByName("address_line2")->Value;
//...
f->Value = s;
}
我在客户端数据集中有一个计算字段,名为备忘录类型的完整地址。
我想连接地址字段,像这样:
TField* f = customersCDS->FieldByName("full_address");
if(f)
{
f->Value = customersCDS->FieldByName("address_line1")->Value;
f->Value += "\n";
f->Value += customersCDS->FieldByName("address_line2")->Value;
..
}
但是,上面的方法不起作用。我收到编译器错误:
E2015 Ambiguity between '_fastcall operator Variant::float() const' and '_fastcall operator Variant::double() const'
最后想把计算字段绑定一个TMemo,多行显示完整地址
TField::Value
是一个 属性。您不能对属性使用复合赋值运算符,例如 +=
。你必须分开使用+
和=
,例如:
TField* f = customersCDS->FieldByName("full_address");
if (f)
{
f->Value = customersCDS->FieldByName("address_line1")->Value;
f->Value = f->Value + String("\n");
f->Value = f->Value + customersCDS->FieldByName("address_line2")->Value;
..
}
在这种情况下,您最好改用变量:
TField* f = customersCDS->FieldByName("full_address");
if (f)
{
String s = customersCDS->FieldByName("address_line1")->Value;
s += "\n";
s += customersCDS->FieldByName("address_line2")->Value;
//...
f->Value = s;
}