إنشاء / استخدام الدالات المعرفة من قبل العضو في System.Data.SQLite؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

<اقتباس فقرة>   

ومعرفة من قبل المستخدم وظائف وجمع متواليات   الدعم الكامل لالدالات المعرفة من قبل المستخدم وتسلسلات المرتب يعني أنه في كثير من الحالات إذا لم يكن لديك برنامج SQLite ميزة، يمكن أن تكتب بنفسك في صافي اللغة المفضلة لديك. الكتابة في UDF وجمع متواليات لم تكن أسهل

وأنا رصدت هذا الشيء على C # <لأ href = "https://web.archive.org/web/20120215000413/http://sqlite.phxsoftware.com/forums/p/348/1457.aspx" يختلط = "noreferrer" عنوان = "المجمع سكليتي ADO"> سكليتي ADO.NET وجد مزود ل هنا، وتواجه مشاكل فهم وثائق حول كيفية تطبيق / استخدام الدالات المعرفة من قبل المستخدم.

هل يمكن لأحد أن يفسر كيفية، أو تقديم أي أمثلة العمل لهذا فقدت مبتدئ؟

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

المحلول

وروبرت سيمبسون لديها مثال عظيم على وظيفة REGEX يمكنك استخدامها في الاستعلامات سكليتي الخاص بك:

// taken from http://sqlite.phxsoftware.com/forums/p/348/1457.aspx#1457
[SQLiteFunction(Name = "REGEXP", Arguments = 2, FuncType = FunctionType.Scalar)]
class MyRegEx : SQLiteFunction
{
   public override object Invoke(object[] args)
   {
      return System.Text.RegularExpressions.Regex.IsMatch(Convert.ToString(args[1]),Convert.ToString(args[0]));
   }
}

// example SQL:  SELECT * FROM Foo WHERE Foo.Name REGEXP '$bar'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top