يحتوي على المشغل باستخدام '@'
-
12-09-2019 - |
سؤال
أحاول استخدام يتضمن المشغل أو العامل. إنه يعمل بشكل جيد مع بيانات الاختبار على سبيل المثال.
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);
لا تنتمي إلى StackOverflow