客户端专用 数据库操作类 LuaICE


使用说明

本类主要用于中心数据库的操作,客户端中有预定义的名称db=LuaICE();在脚本中可以直接使用db来调用。



///仅为Lua访问方便使用
class LuaICE
{
public:
    LuaICE();
    ~LuaICE();

    ///仅是为了兼容而存在
    int id();

    ///取消调用 一般不使用
    void cancel();

    ///获取服务端信息
    void printServerInfo();

    ///获得服务端IP
    string getServerIP();

    ///获取端口
    int       getPort();

    ///设置本次查询的超时时间
    void setInvocationTimeout(int iMSecond=5000);

    ///设置是否压缩
    void enableCompress(bool bEnable);

    ///是否压缩传输
    bool isCompress();

    ///取消文件下载
    void cancelDownload();

    ///设置ICE
    bool setICE(const string &sName);
    ///设置服务端的IP和端口
    void setServer(const string& sIP, int iPort);
    ///从池里获取IP和端口
    void fromPool(const string& sIP, int iPort);
    ///登录
    bool login();
    ///是否已登陆
    bool isLogin();
    ///返回版本号
    string getVersion();
    ///ping测试服务器连接
    bool ping();

    ///查询
    int select(const string &sql, const string &param, CSelectHelp &help);

    ///只返回指定的开始行
    int selectTop(int iStart, int iTopCount, const string& sql, const string& sParam, CSelectHelp& help);

    ///查询
    int selectCompress(const string &sql, const string &param, CSelectHelp &help);
    ///执行SQL
    bool execSQL(string sql, string param="",bool bLog=false);

    ///用于日志管理
    bool execSQLLog(string sql, string param);

    ///key为user_id,rfid_user_id,ip,dc_loc_id
    void setLogKV(string key,string v);


    ///获取服务器的配置信息
    string getConfigure(const string &segment, const string &key);
    ///获取服务器时间
    string getTime();
    ///执行Command
    int commandStr(const string &cmd, const string &param, CTNString& str);
    ///执行Command
    int command(const string &cmd, const string &param, CIntent& outIt);
    ///获得最大ID
    int getMaxID(const string& sSeqName, int count, CIntent& outIt);
    ///获取ID
    int getID(const string& sSeqName, int count=1,bool bFromOne = false);

    ///iFullDate 意思为: 0代表20160212  1代表201602121234  2代表 201602   3代表2016   4代表 1602 5代表160212  9代表无时间  sSeqName代表名称  sPre是指前缀   iSize整数流水号的位数
    string getStrID(const string& sSeqName, const string& sPre, int iSize=6,int iFullDate=1,int iNeedRestart=0);

    ///调用plugin
    int plugin(const string &pname, const string &cmd, const string &param);


    ///发送字符串
    void sendOneway(const string &msg);
    ///发送字符串
    bool send(const string &msg);
    ///执行存储过程
    bool execProc(const string& sql, const string& sParam,CSelectHelp& help,CTNString& sError);
    ///发送字符串
    bool writeBusiLog(const string &personid, const string &ip, const string &busiType, const string &comment);

    ///异步远程执行数据库
    bool execSQLBatch(const std::string &sql,CTNString& sError);


    ///分批次取大量数据
    string selectPrepare(const string &sql);
    ///分批次取大量数据
    string selectPrepareByParam(const string &sql, const string &param);
    ///分批次取大量数据
    int selectNext(const string &sRegID, CSelectHelp &help);
    ///分批次取大量数据
    bool selectFinish(const string &sRegID);


    ///设置每批取的数量,仅对上一条分批次取有效
    void setFetchOneCount(const string &sRegID, int iCount);

    ///执行selectCmd命令
    int selectCmd(const std::string &cmd, const std::string &sqlcode, const std::string &param,CIntent& outIt);
    ///执行selectCmd命令
    int execCmd(const std::string &cmd, const std::string &sqlcode, const std::string &param,CIntent& outIt);

    ///执行selectCmd命令,返回CTNString
    int selectCmdStr(const std::string &cmd, const std::string &sqlcode, const std::string &param, CTNString& ostr);
    ///执行selectCmd命令,返回CTNString
    int execCmdStr(const std::string &cmd, const std::string &sqlcode, const std::string &param, CTNString& ostr);


    ///返回值
    string error();
    ///获取selectCmd,execCmd的返回代,仅对selectCmd,execCmd有效果
    int code(); 
    ///获取selectCmd,execCmd的返回内容
    string value();

    ///下载系统文件
    bool downloadFile(const string& sFile, const string& sDestPath);

    ///下载业务文件
    bool downloadFileBusi(const string& sFile, const string& sDestPath);

    ///下载系统目录文件
    bool downloadDir(const string& sRemoteDir, const string& sDestPath, CSelectHelp &helpResult);

    ///上传业务目录
    bool downloadDirBusi(const string& sRemoteDir, const string& sDestPath, CSelectHelp &helpResult);

    ///用于图片及系统的升级下载
    int upload(const string& sFile, const string& sRemotePath);

    ///上传业务文件
    int uploadBusi(const string& sFile, const string& sRemotePath,const string& sRemoteFile="");

    ///获取指定文件的信息
    bool getFileInfo(const string& sFilePath, CSelectHelp& help);

    ///获取指定文件的信息
    bool getFileInfoSeq(const string& sFilePath, CSelectHelp& help);

    ///获取流水号,移植到db对象中,提高性能并避免事务冲突
    int getNewID(const string& sSeqName, int count = 1,bool bFromOne = false);
    ///获取流水号,参数为系统参数定义中已配置的参数
    string getBarcode(const string& sCode);
    string getBusiBarcode (const string& sCode, CIntent& itMy);

    ///用于获取业务编码,存在业务编码模忒版本v2, 用千支持两个条码规则混佘模式2018 / 12 / 15
    bool getBusiBarcodeMix(const string& sBarCode, const string&sBarcode2, CIntent& itMy, CIntent& itMy2,bool bTest, CVector& v);
};
Copyright © TouchNet 2015 all right reserved,powered by Gitbook最后修订时间: 2022-06-21 09:21:04

results matching ""

    No results matching ""