2008-10-05 2 views
35

Пользовательские функции & Последовательности сортировки Полная поддержка пользовательских функций и последовательности сортировки означает, что во многих случаях, если SQLite не имеет функции, вы можете написать ее самостоятельно на своем любимом языке .NET. Запись ОДС и сопоставляя последовательности никогда не было прощеСоздание/использование пользовательских функций в System.Data.SQLite?

Я обнаружил этот бит на C# SQLite ADO.NET поставщика л здесь, и были проблемы с пониманием документации о том, как реализовать использование определяемых пользователем функций /.

Может ли кто-нибудь объяснить, как или предоставить какие-либо рабочие примеры для этого потерянного новичка?

ответ

50

Роберт Симпсон имеет большой пример функции Regex вы можете использовать в ваших 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' 
+5

Для справки [см этого ответа] (http://stackoverflow.com/a/26155359/1352471), как связать его с SQLiteConnection. – metadings 2014-10-02 06:19:41