zoukankan      html  css  js  c++  java
  • 在datasnap 中使用unidac 访问数据(客户端)

      前面我们讲了如何使用unidac 在datasnap 的服务端访问数据库,今天大概讲一下客户端如何访问

    前面做的服务器?其实这个客户端适合任何datasnap 服务端。

    首先我们建一个应用,并加入一个TDatamodule.

    加入TSQLConnection 控件,并选择driver 为datasnap

     再放置一个TSqlServerMethod,设置 sqlconnection属性。然后打开我们前面做的服务端,就可以在选择服务端的 方法名了。

    我们现在主窗体里面调用一下这个服务器方法,代码就非常简单了。

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      dmf.echo_m.Params[0].AsString:=edit1.Text;
      dmf.echo_m.ExecuteMethod;
      memo1.Lines.Add( dmf.echo_m.Params[1].AsString)
    end;

    运行效果如图

    说明调用成功。

    现在我们再访问我们的数据库。要访问数据库,一共需要4个控件

    依次为

    • TSQLConnection —连接 DataSnap 服务器;
    • TsqlServerMethod — 发送请求到服务器;
    • TDataSetProvider — 绑定TClientDataSet到TSqlServerMethod到
    • TClientDataSet-这个就不用介绍了

    TClientDataSet–>TDataSetProvider–>TSQLServerMethod–>TSQLConnection

    前面的控件引用后面。

     好了,我们在主界面访问一下数据库。

    只有一句代码。

    procedure TForm1.Button2Click(Sender: TObject);
    begin
     dmf.dept_ds.Active:=True;
    end;

    运行效果如图

    下面实现明细表的显示

    首先我们把明细表访问的控件再加一遍

     为了明细表能够与主表同步,再写一下同步代码

    procedure Tdmf.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
      Emp_ds.Close;
      Emp_m.ParamByName('DeptNo').AsInteger := Dept_ds.FieldByName('DEPTNO').AsInteger;
      Emp_ds.Open;
    end;

    回到主界面,重新改一下原来的代码

    procedure TForm1.btopenClick(Sender: TObject);
    begin
      if not dmf.dept_ds.Active then begin
        dmf.dept_ds.Open;
        dmf.emp_m.ParamByName('DeptNo').AsInteger := dmf.dept_ds.FieldByName('DEPTNO').AsInteger;
        dmf.emp_ds.Open;
        btOpen.Caption := '关闭表';
      end
      else  begin
         dmf.emp_ds.Close;
         dmf.dept_ds.Close;
        btOpen.Caption := '打开表';
      end;
    end;

    运行

    移动主表记录

    一切就是这么简单。

    具体更详细的操作及实现,可以访问 unidac 官方的文章:https://blog.devart.com/using-dac-products-in-multi-tier-db-application-development.html

  • 相关阅读:
    第五章:数组 结构体 和联合体
    第四章:用户自定义和枚举数据类型
    第三章:systemverilog文本值和数据类型
    阶段一:读几本经济学书
    第二章:systemverilog声明的位置
    数据结构-B树
    UDP的崛起
    vim使用
    sudo apt-get update
    计算机组成原理——浮点数表示方法
  • 原文地址:https://www.cnblogs.com/xalion/p/10225730.html
Copyright © 2011-2022 走看看