使用C 對SQLite建立自定義函式

2021-07-29 22:00:02 字數 1571 閱讀 7429

sqlite是輕量級的資料庫,關於它的常規用法就不一一介紹了,本文主要介紹了如何建立自定義函式,對其進行擴充套件,以滿足開發中的個性化需求。

sqlitefunction是乙個抽象類,主要用於處理使用者自定義函式。主要成員如下:

有三種型別函式可以自定義,分別是:scalar,aggregate,collation。

scalar:標量(對單條資料進行計算的函式)

aggregate:聚合(對多條資料進行計算的函式)

collation:集合(用於排序)

下面分別建立一種函式表示其簡單用法,注意要引用命名空間 system.data.sqlite

///

/// 求平方根

/// [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

}

arguments為引數個數,等於-1可為任意個引數。

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 建立自定義配置節 可是有時候,我們需要對它進行一些擴充套件,加入一些自定義的元素,而不是僅僅使用預設的配置。例如,我們可能需要在程式啟動時,動態的載入某個類,並對其進行初始化,而這個類或者初始化資料是我們在程式設計的時候所不知道的。相信大家都碰到過這樣的問題,這裡就不做過多的解釋了。最好的辦法無...