في دلفي 7، كيف يمكنني الهروب من النسبة المئوية (٪) في الدالة تنسيق؟

StackOverflow https://stackoverflow.com/questions/267487

سؤال

وأريد أن أفعل شيئا من هذا القبيل:

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%'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top