C# 註冊並使用sqlite 自定義函式
1,sqlite 沒有 ToUpper 的自帶函式。 沒關係,我們可以建立它;
2,sqlite 不能直接建立自定義函式,不能像 sql server中那樣方便建立並使用。沒關係,我們照樣可以建立它,建立成功後,我們照樣可以隨心所欲(比如 批量更新等)。
效果:
var ss = JonseTest.SqlLiteHelper.GetSingle(out sError, "select ToUpper('ABCcdsf')"); // ABCCDSF
var ss2 = JonseTest.SqlLiteHelper.GetSingle(out sError, "select GetChinesePYChar('我a*%愛你中國')"); // Wa*%ANZG
方案:
step1: 建立類 ToUpper 和 GetChinesePYChar
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;
namespace MetroGuide
{
[SQLiteFunction(Name = "ToUpper", Arguments = 1, FuncType = FunctionType.Scalar)]
public class ToUpper : SQLiteFunction
{
public override object Invoke(object[] args)
{
return args[0].ToString().ToUpper();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SQLite;
namespace MetroGuide
{
[SQLiteFunction(Name = "GetChinesePYChar", Arguments = 1, FuncType = FunctionType.Scalar)]
public class GetChinesePYChar : SQLiteFunction
{
public override object Invoke(object[] args)
{
string sOrigion = args[0].ToString();
return Common.GetPYString(sOrigion);
}
}
}
step2:
var ss = JonseTest.SqlLiteHelper.GetSingle(out sError, "select ToUpper('ABCcdsf')"); // ABCCDSF
var ss2 = JonseTest.SqlLiteHelper.GetSingle(out sError, "select GetChinesePYChar('我a*%愛你中國')"); // Wa*%ANZG
step3:
public static string ResetAllPointNameChinesePYChar()
{
return "update tblLinePoint set ChinesePYChar=GetChinesePYChar(Name)";
}
結束。
參考 :
http://blog.csdn.net/huanshanv20008/article/details/7635092
相關文章
- 轉載:在c#中使用sqlite的3種自定義函式C#SQLite函式
- 在python中使用sqlite的自定義函式功能PythonSQLite函式
- keycloak~使用自定義的註冊頁
- matlab自定義函式建立與使用Matlab函式
- MySQL使用之五_自定義函式和自定義過程MySql函式
- Laravel 自定義登入註冊頁面並使用 Ajax 進行資料傳輸Laravel
- 自定義元件服務註冊配置元件
- Oracle 自定義函式Oracle函式
- shell自定義函式函式
- Clickhouse 使用者自定義外部函式函式
- Hive常用函式及自定義函式Hive函式
- hive 3.0.0自定義函式Hive函式
- Hive中自定義函式Hive函式
- python教程:自定義函式Python函式
- java自定義equals函式和hashCode函式Java函式
- 教你認識AWK 使用者自定義函式函式
- PHP 自定義函式用法及常用函式集合PHP函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- JavaScript 註冊事件處理函式JavaScript事件函式
- Laravel 新增自定義助手函式Laravel函式
- laravel 自定義全域性函式Laravel函式
- Laravel 自定義函式存放位置Laravel函式
- Laravel自定義輔助函式Laravel函式
- FlinkSQL自定義函式開發SQL函式
- springBoot自定義註解的使用Spring Boot
- JavaScript 設計模式系列 – 自定義函式(惰性函式)JavaScript設計模式函式
- Excel 開始支援使用 JavaScript 編寫自定義函式ExcelJavaScript函式
- JavaScript 批量註冊事件處理函式JavaScript事件函式
- Spark SQL使用簡介(2)--UDF(使用者自定義函式)SparkSQL函式
- Ignite自定義函式注意事項函式
- VBA 自定義常用函式 (備用)函式
- php自定義函式放哪兒PHP函式
- MySQL全面瓦解18:自定義函式MySql函式
- linux使用gitlab-runner,並註冊gitLabLinuxGitlab
- spark2.4.3 sparkSQL 使用者自定義函式筆記SparkSQL函式筆記
- TDengine 3.0 中如何編譯、建立和使用自定義函式編譯函式
- for迴圈批量註冊事件處理函式事件函式
- Swoole 回撥函式的註冊與呼叫函式
- 自定義註解