zoukankan      html  css  js  c++  java
  • FireDAC 下的 Sqlite [2]

    为了方便测试, 我把官方提供的 C:UsersPublicDocumentsEmbarcaderoStudio14.0SamplesdataFDDemo.sdb 复制了一份到 C:TempFDDemo.sdb.


    {新建一个 VCL Forms Application, 然后添加如下控件(建议按 Ctrl + . 后用键盘输入添加):}
    
    TFDPhysSQLiteDriverLink // 用于驱动自动连接; 不同数据库各对应一个: TFDPhys****DriverLink
    TFDGUIxWaitCursor       // 用于自动管理 GUI 程序的"等待光标"; 在 Console 和 FMX 下也都有类似对应的东西
    TFDConnection           // 数据连接
    TFDQuery                // 数据查询
    TDataSource             // 数据源
    TDBGrid                 // 数据显示
    
    // uses FireDAC.Phys.SQLite 之后, 可不用添加 TFDPhysSQLiteDriverLink
    // uses FireDAC.VCLUI.Wait  之后, 可不用添加 TFDGUIxWaitCursor
    
    
    {简单几行代码, 就呈现了 FDDemo.sdb 中的 Orders 表中的数据}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FDConnection1.DriverName := 'SQLite';
      FDConnection1.Params.Add('Database=C:TempFDDemo.sdb');
    
      FDQuery1.Connection := FDConnection1;
      DataSource1.DataSet := FDQuery1;
      DBGrid1.DataSource := DataSource1;
    
      FDQuery1.SQL.Text := 'SELECT * FROM Orders'; // SQLite 非常好地支持了 SQL92 标准, 目前被忽略的仅有: http://www.sqlite.org/omitted.html 
    
      FDConnection1.Open();
      FDQuery1.Open();
    
      DBGrid1.Align := alClient;
    end;
    


    效果图:


    {稍稍变通一下代码}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    //  FDConnection1.ConnectionString := 'DriverID=SQLite; Database=C:TempFDDemo.sdb'; // 可代替下面两行
      FDConnection1.Params.Add('DriverID=SQLite');            // 同 FDConnection1.DriverName := 'SQLite';
      FDConnection1.Params.Add('Database=C:TempFDDemo.sdb');
    
      FDQuery1.Connection := FDConnection1;
      DataSource1.DataSet := FDQuery1;
      DBGrid1.DataSource := DataSource1;
    
      FDQuery1.SQL.Text := 'SELECT * FROM Orders';
    
      FDConnection1.Connected := True;
      FDQuery1.Active := True;
    
      DBGrid1.Align := alClient;
    end;
    
    {再变通一下}
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FDQuery1.Connection := FDConnection1;
      DataSource1.DataSet := FDQuery1;
      DBGrid1.DataSource := DataSource1;
    
      FDConnection1.Open('DriverID=SQLite;Database=C:TempFDDemo.sdb');
      FDQuery1.Open('SELECT * FROM Orders');
    
      DBGrid1.Align := alClient;
    end;
    
  • 相关阅读:
    Maximum execution time of 30 seconds exceeded解决错误方法
    php 获取随机数的几个方式
    php header utf8 插入header("Content-type: text/html; charset=utf-8");
    php mysqli query 查询数据库后读取内容的方法
    win7 xampp 验证码,session出不来的问题
    apache 中 ServerAlias让多个域名绑定到同一空间
    最近很火的一条成长公式,看看你属于那一条!
    用crontab执行shell把top命令按日期追加到文件
    php CI 实战教程第一季百度经验杂志
    php 截取字符串第一个字符,截取掉字符串最后一个字符的方法
  • 原文地址:https://www.cnblogs.com/yjhb/p/11804207.html
Copyright © 2011-2022 走看看