使用UniDAC在Delphi XE4中开发iOS应用

使用UniDAC在Delphi XE4中开发iOS应用

  核心提示:Delphi XE4的发布让不少Delphi开发者欣喜若狂,毫无疑问它使得Delphi开发更简单且更容易被理解,并且让开发不管是iPhone、iPad仍是iPod的iOS平台的应用成为可能。可是对于iOS的应用程序部署到iOS设备上有一个至关严重的限制:不容许与应用程序一块儿部署任何库(*.dylib...sql

  Delphi XE4的发布让不少Delphi开发者欣喜若狂,毫无疑问它使得Delphi开发更简单且更容易被理解,并且让开发不管是iPhone、iPad仍是iPod的iOS平台的应用成为可能。可是对于iOS的应用程序部署到iOS设备上有一个至关严重的限制:不容许与应用程序一块儿部署任何库(*.dylib)。在你开发须要数据库配合工做的应用程序以前,每一个开发者都知道,要让应用程序链接数据库,要么在客户端安装数据库,要么就是须要一个容许链接到数据库的库,可是这个限制意味着,若是要在iOS平台上建立必须使用数据库的业务类的应用程序,只有经过控件来实现了。数据库

  Devart就提供了相应的数据库链接控件,支持链接几乎全部的流行数据库,不须要安装客户端软件,也不须要库。因此iOS的库(*.dylib)部署限制将不适用于使用UniDAC开发的应用程序。现阶段Devart数据库链接控件支持的访问的数据库有:服务器

  • SQLiteide

  • Oracle性能

  • MySQLspa

  • PostgreSQLcode

  • InterBase ToGoorm

  UniDAC支持同时链接访问以上全部数据库,固然Devart也提供分别访问以上单独数据库的相应控件,如LiteDAC、MyDAC等。移动应用开发

直接数据访问或DataSnap

  在数用数据库时,咱们通常面临一个宣传:直接数据访问或使用DataSnap。server

565×630

  使用DataSnap的方法常常被介绍,可是因为使用DataSnap方法须要消耗大量的资源,咱们认为如今移动设备的电池硬件性能,还达不到使用DataSnap方法的要求,固为了让你开发的iOS应用程序发挥最大的性能,咱们建议使用直连数据的方法。

iOS应用链接数据库

  UniDAC在移动应用开发中的使用方式,和在普通桌面应用的方式相似,首选须要将TUniConnection、TUniQuery和其余必要控件放到窗体中。接下来的步骤将会根据须要链接的数据库不一样而有所不一样。

341×667

SQLite

  因为SQLite是一个本地数据库,因此 不须要主机和端口,只须要指定数据库,硬盘驱动器上的数据库文件路径。

DocumentPath := TPath.GetDocumentsPath;

  若是应用第一次启动时,还须要检测是否SQLite数据库存在于iOS设备上,用如下设置:

UniConnection.SpecificOptions.Values['ForceCreateDatabase'] := 'True';

  接下来最重要的,用如下代码制定Provider:

var
  UniConnection:  TUniConnection;
begin
  UniConnection := TUniConnection.Create(nil);
  try
    UniConnection.ProviderName := 'SQLite';
 
    UniConnection.SpecificOptions.Values['ForceCreateDatabase'] := 'True';
    UniConnection.Database := IncludeTrailingPathDelimiter(TPath.GetDocumentsPath) + 'db.sqlite3';
 
    try
      UniConnection.Connect;
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;
  finally
    UniConnection.Free;
  end;
end;

Oracle

  Oracle的链接方式以下:

UniConnection.SpecificOptions.Values['Direct'] := 'True';

  Oracle须要明显的服务器的主机和端口,以及其SID或Service Name。须要使用如下方式设置:

UniConnection.Server := 'Host:Port:sid=SID';

  而后就是指定provider了:

var
  UniConnection:  TUniConnection;
begin
  UniConnection := TUniConnection.Create(nil);
  try
    UniConnection.ProviderName := 'Oracle';
 
    UniConnection.SpecificOptions.Values['Direct'] := 'True';
 
    UniConnection.Server := 'server:1521:orcl';
    UniConnection.Username := 'user_name';
    UniConnection.Password := 'password';
 
    try
      UniConnection.Connect;
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;
  finally
    UniConnection.Free;
  end;
end;

  MySQL、PostgreSQL的设置方式也相似,在此就不累述了。

部署数据库到iOS

  应用程序若是要与本地数据库链接的话,就必须进行部署,方法很简单,使用Project->Deployment:

212×546

  链接数据库到文件列表后,进行部署到iOS设备就好了。

855×247

相关文章
相关标签/搜索