في دلفي 7، كيف يمكنني الهروب من النسبة المئوية (٪) في الدالة تنسيق؟
سؤال
وأريد أن أفعل شيئا من هذا القبيل:
SQL.Text := Format('select foo from bar where baz like ''%s%''',[SearchTerm]);
ولكن تنسيق لا يحب أن مشاركة '٪'، بطبيعة الحال. فكيف يمكنني الخروج منه؟ \%
؟ %%
؟
وأو لا بد لي من القيام بذلك:
SQL.Text := Format('select foo from bar where baz like ''%s''',[SearchTerm+'%']);
المحلول
استخدم٪ أخرى في سلسلة التنسيق:
SQL.Text := Format('select foo from bar where baz like ''%s%%''',[SearchTerm]);
نصائح أخرى
و٪٪، IIRC.
وإلزامية: http://xkcd.com/327/ : -)
واعتمادا على السياق، قد يكون نهجكم عرضة للحقن SQL. إذا جاء مصطلح البحث من إدخال المستخدم ربما يكون من الأفضل استخدام استعلام معلمات أو على الأقل محاولة لتطهير المدخلات.
واضافة علامة 2 في المئة الى 1٪ واحد
مثال:
Format('select foo from bar where baz like ''%%%s%%'',[SearchString])
ويتيح لك
select foo from bar where baz like '%SearchString%'
لا تنتمي إلى StackOverflow