Créer / utiliser des fonctions définies par l'utilisateur dans System.Data.SQLite?
-
05-07-2019 - |
Question
Fonctions définies par l'utilisateur & amp; Assembler des séquences La prise en charge complète des fonctions définies par l'utilisateur et des séquences d'assemblage signifie que dans de nombreux cas, si SQLite ne possède pas de fonctionnalité, vous pouvez l'écrire vous-même dans votre langage .NET préféré. Écrire des UDF et assembler des séquences n'a jamais été aussi simple
J'ai repéré ce bit sur le C # Le fournisseur SQLite ADO.NET trouvé ici et rencontrait des problèmes pour comprendre la documentation sur la manière d'implémenter / utiliser des fonctions définies par l'utilisateur.
Quelqu'un pourrait-il expliquer comment utiliser ou donner des exemples de travail pour ce débutant égaré?
La solution
Robert Simpson a un excellent exemple de fonction REGEX que vous pouvez utiliser dans vos requêtes SQLite:
// 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'