我正在使用 C++Builder 2010。我正在过滤一个 ADOTable,在 Edit1 OnChange 中我有:
ADOTable1->Filter = "firstname like %" + Edit1->Text + "%";
输入空格、) 和 = 符号时会报告错误 输入过滤器的正确方法是什么?谢谢
我正在使用 C++Builder 2010。我正在过滤一个 ADOTable,在 Edit1 OnChange 中我有:
ADOTable1->Filter = "firstname like %" + Edit1->Text + "%";
输入空格、) 和 = 符号时会报告错误 输入过滤器的正确方法是什么?谢谢
我没有 C++ Builder,但下面的代码适用于与 C++ Builder 非常相似的 Delphi:
ADOTable1.filter := 'firstName LIKE '+ QuotedStr('%'+Trim(Edit1.Text)+'%') ;
我认为您需要在传递给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 + "%'";