إنشاء / استخدام الدالات المعرفة من قبل العضو في System.Data.SQLite؟
-
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'