注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

Delphi XE4 For IOS 之SQLite初试  

2013-06-04 13:23:24|  分类: delphi xe4 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关于SQLite的开发官方有给出一个简单的例子,该例子的地址是http://docwiki.embarcadero.com/RADStudio/XE4/en/IOS_Tutorial:_Using_SQLite_in_an_iOS_Application.

这个例子使用的dbExpress控件做数据库连接的。dbExpress这个说实在的不是很好用,本人也不太喜欢用这个。

于是乎本人改用了UniDac和FireDac重做了这个demo,其中FireDac下载地址是http://altd.embarcadero.com/download/radstudio/xe4/FireDAC_8.0.1.3279.exe ,UniDac可以在盒子里面找,这里就不提供了。

代码的话其实都是类似的,基本不用怎么去修改。换成这个两个控件遇到的问题是中文显示乱码的问题,要花费了不少时间,跟大家分享下经验,和交流下。还有就是现阶段的Sqlite文件都没有加密,加了密码这个两个数据控件是死活都连接不上。其中加密码FireDac其实有个办法能解决,这个控件自带加密的函数功能。但是,如果用它提供的函数加密的话,用的第三方管理工具是连接不上的,要连接上每次都要去掉密码的,很是麻烦,我用的第三方管理工具是SQLite Expert Professional 3和Navicat For Sqlite。建议建库还是用SQLite Expert Professional ,不然编码问题会莫名其妙的出来的。

按照官方那个demo创建好相应的数据库文件,建库的时候记住编码要选择UniCode,不然中文会显示成乱码的。就UniDac来说

Delphi XE4 For IOS 之SQLite初试 - 鑫淼梦园 - 鑫淼梦园的博客      Delphi XE4 For IOS 之SQLite初试 - 鑫淼梦园 - 鑫淼梦园的博客

UseUniCode选择选择True。还有里面涉及到字段操作的最后都用WideString类型的,不然还是会乱码。来个运行的图

Delphi XE4 For IOS 之SQLite初试 - 鑫淼梦园 - 鑫淼梦园的博客

 对于FireDac来说设置StringFormat这个属性设置成UniCode,这个属性花了点时间去查找。然后就是字段的操作还是跟之前一样,要用widestring类型。

Delphi XE4 For IOS 之SQLite初试 - 鑫淼梦园 - 鑫淼梦园的博客Delphi XE4 For IOS 之SQLite初试 - 鑫淼梦园 - 鑫淼梦园的博客

就里面添加按钮的代码是:


复制代码
procedure TForm2.btnInsertClick(Sender: TObject);
var
  ShopItem: String;
begin
  try
    if InputQuery('Enter New ShopItem', 'ShopItem', ShopItem) and not (ShopItem.Trim = '') then
    begin
      ADQueryInsert.ParamByName('ShopItem').AsWideString := ShopItem;
      ADQueryInsert.ExecSQL();
      ADTable1.Refresh;
      LinkFillControlToField1.BindList.FillList;
    end;
  except
    on e: Exception do
    begin
      SHowMessage(e.Message);
    end;
  end;
end;

复制代码

都用WideString类型问题就不是问题了。


  评论这张
 
阅读(1182)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017