FireDAC 下的 Sqlite [9] - 关于排序】的更多相关文章

SQLite 内部是按二进制排序, 可以支持 ANSI; FrieDAC 通过 TFDSQLiteCollation 支持了 Unicode 排序, 并可通过其 OnCompare 事件自定义排序. 下面的例子, 测试了这两种排序的不同. 可把下面代码直接贴在空白窗体上, 以快速完成窗体设计: object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 297 Height = 199 Align = alLeft DataSource = DataSour…
在空白窗体上添加: TFDConnection, TFDPhysSQLiteDriverLink, TFDGUIxWaitCursor, TMemo procedure TForm1.FormCreate(Sender: TObject); var List: TStrings; V: Variant; begin FDConnection1.Open('DriverID=SQLite; Database=C:\Temp\FDDemo.sdb'); List := TStringList.Cre…
主要就是设置 TFDConnection 的两个链接参数: Password, NewPassword, 非常简单. const dbPath = 'C:\Temp\SQLiteTest.sdb'; {建立加密数据库, 密码是 mm123} procedure TForm1.FormCreate(Sender: TObject); const strTable = 'CREATE TABLE MyTable(Id integer, Name string(10), Age byte)'; //I…
建立数据库的代码: {建立内存数据库的一般代码:} begin FDConnection1.DriverName := 'SQLite'; //同 FDConnection1.Params.Add('DriverID=SQLite'); // FDConnection1.Params.Add('Database=:memory:'); //可省略这行, FireDAC 的源码显示, if Database = '' then Database := ':memory:'; // FDConnec…
为了方便测试, 我把官方提供的 C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\data\FDDemo.sdb 复制了一份到 C:\Temp\FDDemo.sdb. {新建一个 VCL Forms Application, 然后添加如下控件(建议按 Ctrl + . 后用键盘输入添加):} TFDPhysSQLiteDriverLink // 用于驱动自动连接; 不同数据库各对应一个: TFDPhys****DriverLink…
很长时间没静下心来写博客了, 现在回来, 是 Delphi 不断地进步让我感动.振奋. Delphi XE5 并入了 FireDAC, 第一印象非常好, 恐怕 dbExpress 等等都要靠边站了. 让我最高兴地是 FireDAC 对 Sqlite 的支持! 优秀的 Sqlite 早就有很多 Delphi 的包装(http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers, 从 https://code.google.com/ 等还能搜到更多). 有静…
可把下面代码直接贴在空白窗体上, 以快速完成窗体设计: object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 265 Height = 338 Align = alLeft DataSource = DataSource1 TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Nam…
R-Tree 主要用于三维空间的搜索, 据说这种搜索算法非常之快, 哪怕百万条记录也是眨眼间的事! SQLite 支持 1-5 维, FireDAC 也提供了 TFDSQLiteRTree 控件以方便定义回调函数. 为了简单, 我用二维表进行了成功的测试. 建立 R-Tree 表(索引)时需要使用特定语法, 譬如: FDConnection1.ExecSQL('CREATE VIRTUAL TABLE MyRTreeTable USING rtree(Id, minX, maxX, minY,…
Sqlite 本身没有这个功能, FireDAC 通过 TFDSQLiteFunction 增加了该功能; 尽管通过某些 SQL 语句或通过视图也可以达到类似效果, 但函数会更灵活些. 本例先建了一个成绩表, 然后通过两个 TFDSQLiteFunction 实现了 "总分" 与 "平均分" 的计算. 你可以复制下面文本框中的内容, 然后直接往窗体上贴, 以快速完成窗体设计: object DBGrid1: TDBGrid Left = 8 Top = 88 Wid…
用 TFDSQLiteBackup 控件, 两三行代码即可完成 Sqlite 数据库的备份. procedure TForm1.Button1Click(Sender: TObject); begin {先初始化目标} FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Add('Database=C:\Temp\FDDemo_Back.sdb'); //如果不指定这个路径, 就是备份到内存 FDConnection1.Open(…
先在空白窗体上添加: TFDConnection.TFDPhysSQLiteDriverLink.TFDGUIxWaitCursor.TFDQuery.TDataSource.TDBGrid(并在设计时关联好). 你也可以复制下面文本框中的内容, 然后直接往窗体上贴, 以快速完成以上的添加过程: object DBGrid1: TDBGrid Left = 16 Top = 88 Width = 361 Height = 329 DataSource = DataSource1 TabOrder…
该话题的继续延伸主要就是 SQL 的语法了, 草草收场的原因是现在的脑筋已经进入了 IntraWeb 的世界. 相关备忘会随时补充在下面: //连接多个数据库的参考代码: FDConnection1.ExecSQL('ATTACH ''c:\hr.sdb'' AS hr'); FDConnection1.ExecSQL('ATTACH ''c:\cust.sdb'' AS cust'); FDQuery1.Open('select * from "Orders" o ' + 'left…
Windows client software,FireDAC supports two SQLite library linking modes: Static linking: the x86 sqlite3_x86.obj or x64 sqlite3_x64.obj client library is statically linked into application. FireDAC provides sqlite3_Xxx.obj v 3.7.15. That is default…
#AOS开发平台# 添加了用户自己定义快捷菜单在平铺布局下的用户自己定义排序管理.…
上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel模块,因为我们先前主要分析的split_1_*对应的是rmergel,我们先从rmergel查看,如下 ....................................................... split_1(X, Y, [], R, Rs) -> rmergel([[Y, X…
排序算法一直是各种语言最简单也是最复杂的算法,例如十大经典排序算法(动图演示)里面讲的那样 第一次看lists的sort方法的时候,蒙了,几百行的代码,我心想要这么复杂么(因为C语言的冒泡排序我记得不超过30行),于是自己就实现了下 结果更蒙了 bubble_sort(L)-> bubble_sort(L,length(L)). bubble_sort(L,0)-> L; bubble_sort(L,N)-> bubble_sort(do_bubble_sort(L),N-1). do_…
列表中的字典按照该字典下的键值进行排序 这算是排序中比较复杂的一种情况吧,多重嵌套,按照某种规则进行排序.如下面这个json(注:这里这是该列表中的一个项): [ { "stat": { "question_id": 1339, "question__article__live": null, "question__article__slug": null, "question__title": "…
在4.0框架下使用Sqlite数据库出现"混合模式程序集是针对"v2.0.50727"版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集."的错误: 这是由于 System.Data.Sqlite 这个数据访问provider是针对 .NET2.0 环境开发的,而 .NET Framework 4 不能自动使用自己的公共语言运行时版本来运行由.NET Framework早期版本生成的应用程序. 若要使用 .NET Framework…
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap…
1. df -lh 2. du -s /usr/* | sort -rn这是按字节排序 3. du -sh /usr/* | sort -rn这是按兆(M)来排序 4.选出排在前面的10个du -s /usr/* | sort -rn | head 5.选出排在后面的10个du -s /usr/* | sort -rn | tail du -h –-max-depth=0 userdu -sh –-max-depth=2 | more 本文具体介绍了linux中du命令參数的用法,并用演示例子进…
老师最近给的上机题目有点变态,特别是写到最后,是需要写学生管理系统.如果C语言结合文件来操作的话,估计会比较麻烦(对文件里字符串的增删改查我都没有什么好点的算法).那就用数据库吧,我很自然的想到. 前几天研究了Mysql与VC的交互,利用微软ODBC里面的一些API可以对数据库进行访问.不过用Mysql写这种小软件感觉还是太大,而且如果一台电脑既没联网也没安装MYSQL就不能使用我的程序了,所以我想找一款能嵌入程序里的数据库. sqlite就是一个嵌入式的轻型数据库,感觉与这种作业类型的题目真是…
最近在整一个很简单的通讯录相关的项目,通讯录当然就少不了按首字母或者汉字拼音首字母分组排序索引.因为按照我一贯的的做法,都是想要做成更通用的.支持本地化的,所以这就纠结了,世界各地的语言啊我去,我顶多也就认识中文和英语,这就不能用以前的那些比如把汉字转成拼音再排序的方法了,效率不高不说,对其他国家的本地化更是行不通.一个偶然的机会,我才发现SDK里已经提供了一个实现此功能的神器——UILocalizedIndexedCollation. 首先提一下,UILocalizedIndexedColla…
因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机自身的存储上之后再使用,后来考虑到每次都拷贝的话效率不高,并且如果涉及到对数据库的修改操作的话拷贝之后数据就被恢复了. 因此就写了该封装,该封装只是在第一次使用数据库文件的时候把该文件夹拷贝到手机的/data/data/应用程序报名/database文件夹下,之后就直接从这个地方使用了.并且它允许你…
1.SQLite安装SQlite官网:http://www.sqlite.org/download.html 找到以下截图中内容 第一个解压之后是sqlite3.exe,第二个解压之后是sqlite3.dll和sqlite3.def文件,第三个是sqlite3_analyzer(暂时没用到) 可将sqlite3.exe复制到C:\Windows\System32\下,这样一来可以从任何目录下运行CLP(SQLite CLP是使用和管理SQLite数据库最常用的工具), 打开命令行输入sqlite…
我们接下来将要使用FDDemo.sdb数据库进行访问,开始我们的第一个SQLite访问例子. 我们的FDDemo.sdb存放目录在:C:\Program Files (x86)\Embarcadero\Studio\14.0\Samples\Data 新建VCL Forms Application 在XE6 IDE中按 Ctrl + . 键,快速输入 VCL Forms Application,回车后新建了一个VCL Forms Application应用程序. 添加FireDAC相关组件 继续…
观察后发现项目中数据库的存放位置不正确. Web项目添加到App_Data文件夹下, 文件始终不复制 Web.Config文件下的连接字符串 <add name="SQLiteconnectionStrings" connectionString="Data Source=|DataDirectory|Phonelocal.db" providerName="System.Data.SQLite" /> 注: 加   |DataDir…
说明:windows 下执行创建 sqlite 数据库命令后数据库文件不会马上生成,需要创建表以后才会生成. 1.将 sqlite3.exe 文件放在任何位置(如放在 d:\tools )2.在 CMD 下进入到 d:\tools 下3.在 CMD 命令提示符下输入 sqlite3 test.db ( test.db 是数据库名)回车注意:这时 test.db 数据库确实已经创建好了但是还是个临时文件,所以现在需要要输入SQL命令创建表4.create table test(name text)…
因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机自身的存储上之后再使用,后来考虑到每次都拷贝的话效率不高,并且如果涉及到对数据库的修改操作的话拷贝之后数据就被恢复了. 因此就写了该封装,该封装只是在第一次使用数据库文件的时候把该文件夹拷贝到手机的/data/data/应用程序报名/database文件夹下,之后就直接从这个地方使用了.并且它允许你…
目录 1.基础函数 2.例子解析 参考 1.基础函数 a.sort()函数 sort()函数的作用是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表. lists =[1, 5, 10, 8, 6] lists.sort() print(lists) >>> [1, 5, 6, 8, 10] file_list=['file1', 'file101', 'file102', 'file103', 'file11', 'file12','file13', 'file2',…
在excel中0,1,2,3,4,5,6,7,8,9会自动排序,a,b,c,d,e,f,g.....会自动排序,所以可以分布来实现. 例如排序:fish1a.png,fish1b.png,fish1c.png,fish1d.png,fish1e.png, 第一步:在A列中输入fish1 第二步:在B列中依次输入a,b,c然后向下拖拽 第三部:在C列中输入.png 第四部:在D1中写入公式=A1&B1&C1,回车获取D1的值 第五步:D1向下填充,会依次获取    …