sqlite是輕量級的資料庫,關於它的常規用法就不一一介紹了,本文主要介紹了如何建立自定義函式,對其進行擴充套件,以滿足開發中的個性化需求。
sqlitefunction是乙個抽象類,主要用於處理使用者自定義函式。主要成員如下:
有三種型別函式可以自定義,分別是:scalar,aggregate,collation。
scalar:標量(對單條資料進行計算的函式)
aggregate:聚合(對多條資料進行計算的函式)
collation:集合(用於排序)
下面分別建立一種函式表示其簡單用法,注意要引用命名空間 system.data.sqlite
arguments為引數個數,等於-1可為任意個引數。///
/// 求平方根
/// [sqlitefunction(name = "sqrt", arguments = 1, functype = functiontype.scalar)]
public
class sqrt : sqlitefunction
}///
/// 求平均
/// [sqlitefunction(name = "mean", arguments = -1, functype = functiontype.aggregate)]
public
class mean : sqlitefunction
public
override
object
final(object contextdata)
}///
/// 中文排序
/// [sqlitefunction(functype = functiontype.collation, name = "pinyin")]
public
class pinyin : sqlitefunction
}
static void main(string args)
", "test.db")))
dr.close();
}com
.commandtext = "select mean(high) as val from student "
; using (sqlitedatareader dr = com
.executereader())
dr.close();
}com
.commandtext = "select name from student order by name collate pinyin"
; using (sqlitedatareader dr = com
.executereader())
dr.close();}}
}}
C 建立自定義配置節
可是有時候,我們需要對它進行一些擴充套件,加入一些自定義的元素,而不是僅僅使用預設的配置。例如,我們可能需要在程式啟動時,動態的載入某個類,並對其進行初始化,而這個類或者初始化資料是我們在程式設計的時候所不知道的。相信大家都碰到過這樣的問題,這裡就不做過多的解釋了。最好的辦法無非就是把這些可能會改變...
C 建立自定義配置節
name為自定義節點的名稱,type為自定義節點解析檔案的命名空間和自定義節處理程式的類名 在節點中註冊你所要sql語句定義的節點名稱及用於處理該節點的配置節處理程式。如下 name dbfactory type dbfactory.configuration.dbfactorysection,db...
C 建立自定義配置節
c 建立自定義配置節 可是有時候,我們需要對它進行一些擴充套件,加入一些自定義的元素,而不是僅僅使用預設的配置。例如,我們可能需要在程式啟動時,動態的載入某個類,並對其進行初始化,而這個類或者初始化資料是我們在程式設計的時候所不知道的。相信大家都碰到過這樣的問題,這裡就不做過多的解釋了。最好的辦法無...