Sqlite
发布时间:2022-05-22 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Lazarus开发使用SQLite的WinCE项目,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
sqlite是一个开源的小型数据库,它可以
在WinCE上正常工作,
本文讲述的,就是如何
在WinCE开发中使用它。
首先,我们需要相关的开发工具,
sqlite没有可视化的管理工具,它提供了一个命令行下的工具,
用于创建数据库。下载了
sqlite3后,会找到
sqlite3.exe和
sqlite3.dll,
其中EXE就是命令行工具了。
我们用命令来建立一个测试用的数据库,如下:
sqlite3 mytest.db
create table Demo(uid integer,uname varchar(50));
insert into Demo values(1,'a');
insert into Demo values(2,'b');
insert into Demo values(3,'c');
.quit
这时就能看到在
sqlite3.exe相同的目录下,生成了my
test.db这个文件,当然了,里面包含了一个名为Demo的表,要查询表中内容可以用以下语句
sqlite3 mytest.db
SELEct * from Demo;
.quit
以上的命令是在PC上执行的,它借助了
sqlite3.dll完成
相应的功能,但是在windows Mobile下,显然不能够使用PC上的dll,我们
需要用源码自行编译相关的dll。
从
sourceForge上下载到
sqlite-ce-
source 3.3.3之后,解压,然后在VC6里新建一个library工程,把
source内除了tcl
sqlite.c外,所有的文件添加到这个工程内,编译工 程。编译后即生成
sqlite3.dll,这个dll可以放到windows Mobile下使用了。
我使用的是VC6来编译
sqlite3.dll,您也可以用C++Builder,DEV C++,或是Visual
studio 2008内的VC++.NET来编译这个dll,编译的效果是一样的。
建好了数据库之后,就要进行程序的开发了,我在此选择Lazarus进行开发。当然了,
如果你喜欢用C++,Java或C#进行开发,也是一样的,用.NET或Java语言开发时,需要多下载一个对应的Wrapper,用原生语言开发则不需要多下载东西。
为了使程序体积更小,我们需要使用KolCE,关于KolCE的使用,请去以下帖子:
点击进入
假设您已经会使用lazarus和KolCE,那么下面就开始
进行开发了。我们会碰到一个小小的问题,就是lazarus自带的DB Connection不支持
sqlite。这时我们需要借助一套第三方的控件,那就是zeos DBO。
zeosDBO 是使用Delphi开发的一套强劲的数据操作控件,它也有Lazarus相关的版本,您可以从
sourceForge上获得它,它是免费且开源的。
根据zeos DBO的文档所述,在要Lazarus上安装只需要编译并安装ZComponent
s.lpk
即可。安装时会自动安装
其余的4个包,zeos DBO的安装时间相当的久,以我电脑4核+
4G内存的配置都要将近5分钟才能安装完成,安装期间lazarus
会发生没有响应的现象,系统反应也相当的 慢,请不要在意,并耐心的等待。
安装zeos DBO时,或许
会发生另一个问题,如果您以前安装过KolCE,那么会报一个Kol
.o和Ko
l.ppu
重复存在的错误,此时需要把MCK目录下的lib目录删除,并重新编译KolCE。
安装zeos DBO成功后,会在控件面板上看到
多出一组控件,如图所示:
下面我们可以进行真正的开发了,新建一个工程,设置窗口大小为240x320,这个分辨率是我的手机屏幕的大小,您可以跟据您的手机实际的分辨率来设置大 小。然后往窗体上拖放一个TKolListBox,一个TZConnection,一个TZquery。设置Zquery的Connection属性为 ZConnection。
编写一些简单的代码来完成数据的查询和显示。
可以看到,这些代码与在Delphi中的操作
非常类似。有几点
需要注意:
1. KolListBox中,Items属性是字符串,因此不能够Items.Clear,也不能够Items.Add()。能用的方法只是ListBox.Clear和ListBox.Add。
2. sqlite的数据库必须使用完整的路径,不能使用相对路径。
3. sqlite的sql语句最后都必须带上分号,以示这一行语句结束。
好了,现在可以编译程序了。编译成功后,我们要运行程序,以测试程序工作是否正常。此时又会碰到一个问题,就是用windows Mobile模拟器,无法将数据库部署上去,也无法将相关的DLL部署上去。这个时候有两种解决办法,一种是使用Microsoft ActiveSync,把相关文件直接拷进模拟器,另一种就是拥有一台真实的windows Mobile。我使用的是后一种方法。
部署需要的东西很简单,刚才开发的程序,
sqlite3.dll,my
test.db,全部拷到手机里。然后执行exe文件。
到此为止,一个简单的演示程序就完成了,对于使用Delphi的开发人员来说,要上手lazarus是非常容易的,而且zeos DBO的操作方式几乎与DBGO完全一样,这使得Delphi开发人员能无缝的过渡到Lazarus。 对于
sqlite,它体积小,操作也很简单,而且数据访问速度很快,越来越多的PPC应用程序使用了
它作为本地数据库。另外,
sqlite的开源也使开发人员能够更深入的了解它的本质,从而对它作出改进,
以满足不同用户的不同需要。
大佬总结
以上是大佬教程为你收集整理的Lazarus开发使用SQLite的WinCE项目全部内容,希望文章能够帮你解决Lazarus开发使用SQLite的WinCE项目所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。