سؤال

أحاول استخدام يتضمن المشغل أو العامل. إنه يعمل بشكل جيد مع بيانات الاختبار على سبيل المثال.
WHERE CONTAINS(file,'"*ash*"')

ومع ذلك، أريد الحصول على الكلمة الرئيسية من مربع نص باستخدام شيء مثل CONTAINS(file,'"*@key*"'), ، ولكن هذا لا يبدو للعمل. أي اقتراحات من فضلك.

شكرا

هل كانت مفيدة؟

المحلول

يستخدم @ لإعلان متغير في SQL. لهذا السبب، لا يحتاج إلى أن يكون داخل اقتباسات. علي سبيل المثال:

DECLARE @Key varchar(100);
SET @Key = '*ash*'; 
SELECT file FROM SomeTable WHERE CONTAINS(file, @Key);

تعديل: إذا كنت تمر متلاطا SQL من خلال التعليمات البرمجية الخاصة بك، فأنا أقترح شيئا كهذا:

ج # مثال:

string key = textBox1.Text;
string query = "SELECT file FROM SomeTable WHERE ";
query += String.Format("CONTAINS(file, '\"*{0}*\"')", key);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top