Exemple #1
0
        public PDBErrorCode ExecuteInsert(string tabName, DataTable dataTable)
        {
            PDBErrorCode retVal = PDBErrorCode.PdbE_OK;

            lock (ConnObj)
            {
                byte[] sendPacket = MakeInsertTableRequestPacket(tabName, dataTable);
                ConnObj.Request(sendPacket);

                byte[] recvPacket = ConnObj.Recv();
                DecodeInsertTablePacket(recvPacket, out retVal);
            }

            return(retVal);
        }
Exemple #2
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="sql">要执行的SQL语句列表</param>
        /// <returns>执行结果</returns>
        public PDBErrorCode ExecuteInsert(string sql)
        {
            PDBErrorCode retVal = PDBErrorCode.PdbE_OK;

            lock (ConnObj)
            {
                byte[] sendPacket = MakeRequestPacket(ProtoHeader.MethodCmdInsertReq, sql);
                ConnObj.Request(sendPacket);

                byte[] recvPacket = ConnObj.Recv();
                DecodeInsertPacket(recvPacket, out retVal);
            }

            return(retVal);
        }
Exemple #3
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sql">执行的SQL</param>
        /// <returns>查询的结果集</returns>
        public DataTable ExecuteQuery(string sql)
        {
            SuccessCount = 0;
            PDBErrorCode retVal = 0;

            DataTable dtResult = new DataTable();

            lock (ConnObj)
            {
                byte[] sendPacket = MakeRequestPacket(ProtoHeader.MethodCmdQueryReq, sql);
                ConnObj.Request(sendPacket);

                byte[] recvPacket = ConnObj.Recv();
                DecodePacket(recvPacket, out retVal, dtResult);
                if (retVal != PDBErrorCode.PdbE_OK)
                {
                    throw new PDBException(retVal);
                }
            }
            return(dtResult);
        }
Exemple #4
0
        /// <summary>
        /// 其他,例如:添加用户,删除用户,删除数据 等等..
        /// </summary>
        /// <param name="sql">执行的SQL</param>
        public void ExecuteNonQuery(string sql)
        {
            SuccessCount = 0;
            lock (ConnObj)
            {
                byte[] sendPacket = MakeRequestPacket(ProtoHeader.MethodCmdNonQueryReq, sql);
                ConnObj.Request(sendPacket);

                byte[]      recvPacket = ConnObj.Recv();
                ProtoHeader proHdr     = new ProtoHeader(recvPacket);

                if (proHdr.GetMethod() != ProtoHeader.MethodCmdNonQueryRep)
                {
                    throw new PDBException(PDBErrorCode.PdbE_PACKET_ERROR, "报文错误:Error Packet");
                }

                PDBErrorCode errCode = (PDBErrorCode)proHdr.GetReturnVal();

                if (errCode != PDBErrorCode.PdbE_OK)
                {
                    throw new PDBException(errCode);
                }
            }
        }