1

I am using C++Builder 2010. I am filtering an ADOTable, in Edit1 OnChange I have:

    ADOTable1->Filter = "firstname like %" + Edit1->Text + "%";

It reports an error when typing in a space, ) and = sign What is the proper way to type the filter? Thanks

4

2 に答える 2

0

私はC++Builderを持っていませんが、以下のコードはC++Builderと非常によく似たDelphiで動作します。

    ADOTable1.filter := 'firstName LIKE '+ QuotedStr('%'+Trim(Edit1.Text)+'%') ;
于 2011-08-20T16:39:58.507 に答える
0

Filterプロパティに渡す文字列の前後に一重引用符が必要だと思います。

// QuotedStr example
ADOTable1->Filter = "firstname like '%" + QuotedStr(Edit1->Text) + "%'";

// StringReplace example
System::String temp; 
temp = StringReplace(Edit1->Text, "'", "''", TReplaceFlags() << rfReplaceAll);
ADOTable1->Filter = "firstname like '%" + temp + "%'";

ドキュメントにはLIKE演算子については言及されていませんが、私が見つけた別の Web サイトでは、これが可能であることが示唆されています。

于 2011-06-27T18:40:39.087 に答える