sqlitesqlite 华语排序

  1. SELECT * FROM Client_V  
  2. ORDER BY  
  3.     City COLLATE PinYin,  
  4.     Unit COLLATE PinYin,  
  5.     Name COLLATE PinYin;  
  1.     static class Program {  
  2.   
  3.         // 主函数  
  4.         [STAThread]  
  5.         static void Main()  
  6.         {  
  7.             SQLiteFunction.RegisterFunction(typeof(SQLiteCollation_PinYin));    // 注入  
  8.             Config.Reload();  
  9.             Application.EnableVisualStyles();  
  10.             Application.SetCompatibleTextRenderingDefault(false);  
  11.             Application.Run(new MainForm());  
  12.             Config.Save();  
  13.         }  
  14.   
  15.         // 普通话拼音排序规则  
  16.         [SQLiteFunction(FuncType = FunctionType.Collation, Name = “PinYin”)]  
  17.         class SQLiteCollation_PinYin: SQLiteFunction {  
  18.             public override int Compare(string x, string y)  
  19.             {  
  20.                 return string.Compare(x, y);  
  21.             }  
  22.         }  
  23.     }  

COLLATE 就是点名规则, PinYin 就是地点 C# 代码中定义规则时的 Name =
“PinYin” 。
其它,用建表、建立目录时,也应该考虑采纳 COLLATE
,那样才能让数据库快起来。

转载于:http://blog.csdn.net/ch_fb/article/details/6682791

首先,定义和注入规则
以身作则代码如下,不会细小略无须多解释。唯有少数不能够十分大心,对同二个函数只可以注入二回,不得重复,所以注入语句写在主函数中再得当不过。

[sql] view
plain
copy

而后,使用
利用时, SQL 代码无法大约地写上 O奥迪Q5DEHighlander BY XXX 了事,还得用上 COLLATE
,示例如下:

[csharp] view
plain
copy

SQLite 暗许排序为 UNICODE
编码序,与汉语拼音没有另向外调拨运输换,而人们常习惯拼音序。
杀鸡取卵措施在 C# 中实际很简短,但网上没有见有别的普通话资料说那事,唯有 C
方法。以下笔者是因而一英文网页学到的。

网站地图xml地图