zoukankan      html  css  js  c++  java
  • 中间件的一些方法定义

    function TServerMethods1.ExecuteSql(const sql: String): Boolean;
    var
    d: TfrmDB;
    begin
    d := DBPool.Lock;
    if Assigned(d) then
    begin
    try
    try
    d.qry.Close;
    d.qry.sql.Clear;
    d.qry.sql.Text := sql;
    d.qry.ExecSQL;
    Result := true;
    except
    on e: Exception do
    begin
    Result := false;
    Log.WriteLog('TServerMethods1.ExecuteSql ' + e.Message);
    end;
    end;
    finally
    DBPool.Unlock(d);
    end;
    end
    else
    begin
    Result := false;
    end;
    end;

    function TServerMethods1.QuerySql(const sql: String): OleVariant;
    var
    d: TfrmDB;
    begin
    d := DBPool.Lock;
    if Assigned(d) then
    begin
    try
    try
    d.qry.Close;
    d.qry.sql.Clear;
    d.qry.sql.Text := sql;
    d.qry.Open;
    Result := d.dsp.Data;
    except
    on e: Exception do
    begin
    Result := null;
    Log.WriteLog('TServerMethods1.QuerySql ' + e.Message);
    end;
    end;
    finally
    DBPool.Unlock(d);
    end;
    end
    else
    begin
    Result := null;
    end;
    end;

    function TServerMethods1.QuerySql2(const sql: string): TFDJSONDataSets;
    var
    d: TfrmDB;
    begin
    d := DBPool.Lock;
    if Assigned(d) then
    begin
    try
    try
    d.qry.Close;
    d.qry.sql.Clear;
    d.qry.Open(sql);
    Result := TFDJSONDataSets.Create;
    TFDJSONDataSetsWriter.ListAdd(Result, d.qry);
    except
    on e: Exception do
    begin
    Result := nil;
    Log.WriteLog('TServerMethods1.QuerySql2 ' + e.Message);
    end;
    end;
    finally
    DBPool.Unlock(d);
    end;
    end
    else
    Result := nil;
    end;

    function TServerMethods1.SaveData(const tableName: String;
    delta: OleVariant): Boolean;
    var
    d: TfrmDB;
    errCnt: Integer;
    begin
    d := DBPool.Lock;
    if Assigned(d) then
    begin
    try
    try
    d.qry.Close;
    d.qry.sql.Clear;
    d.qry.sql.Text := 'select * from ' + tableName + ' where 1=2';
    d.qry.Open;
    d.dsp.ApplyUpdates(delta, 0, errCnt);
    if errCnt = 0 then
    Result := true
    else
    Result := false;
    except
    on e: Exception do
    begin
    Result := false;
    Log.WriteLog('TServerMethods1.SaveData ' + e.Message);
    end;
    end;
    finally
    DBPool.Unlock(d);
    end;
    end
    else
    begin
    Result := false;
    end;
    end;

    function TServerMethods1.SaveData2(const tableName: string;
    delta: TFDJSONDeltas): Boolean;
    var
    d: TfrmDB;
    LApply: IFDJSONDeltasApplyUpdates;
    begin
    d := DBPool.Lock;
    if Assigned(d) then
    begin
    try
    try
    d.qry.Close;
    d.qry.sql.Clear;
    d.qry.sql.Text := 'select * from ' + tableName + ' where 1=2';
    d.qry.Open;
    LApply := TFDJSONDeltasApplyUpdates.Create(delta);
    LApply.ApplyUpdates(tableName, d.qry.Command);
    Result := LApply.Errors.Count = 0;
    except
    on e: Exception do
    begin
    Result := false;
    Log.WriteLog('TServerMethods1.SaveData2 ' + e.Message);
    end;
    end;
    finally
    DBPool.Unlock(d);
    end;
    end
    else
    Result := false;
    end;

  • 相关阅读:
    js中点击空白区域时文本框与隐藏层的问题
    嗨翻C语言
    人工模拟获取latch
    如何JOPtionPane的showConfirmDialog对话框button设置监视器
    本机Ajax异步通信
    Project Euler:Problem 28 Number spiral diagonals
    Maven软件项目管理工具
    第一个打击木马病毒查杀007一片:反向熊猫的分析(下一个)
    Redefine:Change in the Changing World
    不一致的文件编码读取和写入文件乱码解决方案
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/4050461.html
Copyright © 2011-2022 走看看