Sqlite在UniDac转换FireDac注意事项

现手中一项目,尝试从第三方UniDac控件转换为CXE5自带的FireDac控件,在转换过程中有一下几点注意:

(1)因Sqlite是UTF8格式,在UniDac中默认支持,但是FireDac需要修改参数配置:StringFormat=Unicode

(2)动态创建Connection时,与UniDac也不同,不支持

  FConn.ProviderName := 'SQLite';
  FConn.LoginPrompt := False;
  FConn.Database := FPath;

需修改为:

  FConn.Params.Append('Database='+FPath);
  FConn.Params.Append('DriverID=SQLite');
  FConn.Params.Append('StringFormat=Unicode');

(3)Query或Table控件也需要修改:

   Query.SpecificOptions.Values['FetchALl']:=BoolToStr(True,True);   修改为Query.FetchOptions.Mode:=fmall;Query.FetchOptions.RecordCountMode:=cmTotal;

   Query.UniDirectional := True;修改为   Query.FetchOptions.Unidirectional:=true;

(4)数据表字段需要注意:

在FireDac中针对Delphi中的float不能在Sqlite设置为single,dec类型,否则读取值为0.
   

posted on 2013-09-20 18:14  流浪在他乡的猫  阅读(1515)  评论(0)    收藏  举报