• mORMot 增、查、改、删 —— CRUD(一)


    CRUD 展开就是 c create 创建,r read 阅读, u update 更改, d delete 删除,这是关系数据库里面的主要操作,

    在mORMot 里面一切皆为对象,那么他的 增、删、改、查的基本操作是怎么样的呢?假设已经定义好了数据库对象,这里还是对象。

    • mORMot 的增加,Sql 对应的是insert
      Account := TAccount.Create; 
      Account.Name := TGuidxxxxx;  
      Account.Account := 123;
      Account.Sno := 'abcd';
      if db.Add(Account, True) = 0 then
      begin
        ShowMessage('失败');
      end;

    db.Add 返回 TSQLRecord ID/RowID 值,错误为 0

    • mORMot 的查询,Sql 对应的是Select
      acc := TAccount.Create(db, 'Name=?', [edt1.Text]);
      if acc<>nil then
      begin
        //Do Samething
        edt3.Text := acc.Name;
        edt1.Text := acc.Account.ToString;
        edt2.Text := acc.Sno;
      end;

    这里的理解是,用DB数据集,构建 Name定义为xxx 的 TAccount对象。如果没有可用的数据集,自然构建失败,返回 nil。

    • mORMot 的修改,Sql 对应的是update
    acc := TAccount.Create(db, 'Name=?', [edt1.Text]);
      if acc<>nil then
      begin
        //Do Samething
        acc.Name :=edit2.Text;
        acc.Account := 456;
        acc.Sno :=‘QWE’;
      end;
    
      if db.Update(acc) then
       begin
         mmo1.Lines.Add('更新成功: ' + acc.Account.ToString );
       end else
       begin
        mmo1.Lines.Add('更新失败: ' + acc.Account.ToString );

    这是建立在查询成功的基础上,所以上面很重要!

    • mORMot 的删除,Sql 对应的是Delete

    同Update,仅仅是变成了 db.Delete(aRec);

    • 多表关联,一对多,多对多关系

    FillMany、ManySelect、ManyDelete……


    mORMot 库的体系太复杂了,估计要慢慢研究。


    后记:好多人打趣,这程序不久是“增、删、改、查”吗?确实。也就是这些简单的动作,构成了基本的业务逻辑。如同0,1,简答的逻辑构成了万千精彩的计算机世界。

  • 相关阅读:
    如何将数据库中已有表导入到powerDesigner生成pdm文件
    Delphi TcxTreelist 表格左边总是缩进去 ,好像有偏移 解决方法
    HTML、CSS、JS对unicode字符的不同处理
    老生常谈ajax
    浅谈javascript面向对象
    HTML5原生拖放实例分析
    一个小动画,颠覆你的CSS世界观
    布局神器display:table-cell
    javascript 日常总结
    G2 2.0 更灵活、更强大、更完备的可视化引擎!
  • 原文地址:https://www.cnblogs.com/hieroly/p/16099225.html
Copyright © 2020-2023  润新知