Exemplo n.º 1
0
        // 同步加载所有数据
        protected override IDType[] LoadAllIDImpl(string whereClause)
        {
            IDbCommand    cmd     = Conn.CreateCommand();
            IDataReader   r       = null;
            List <IDType> dataLst = new List <IDType>();

            try
            {
                cmd.CommandText = string.Format(@"select ID from {0} {1}", tbName, whereClause);

                r = cmd.ExecuteReader();
                while (r.Read())
                {
                    IDType uid = (IDType)r.GetValue(0);
                    dataLst.Add(uid);
                }
            }
            catch (Exception ex)
            {
                log.Error("\r\n==========\r\n" + cmd.CommandText + "\r\n" + ex.Message + "\r\n==========\r\n" + ex.StackTrace + "\r\n==========\r\n");
                throw ex;
            }
            finally
            {
                if (r != null)
                {
                    r.Close();
                }
            }

            return(dataLst.ToArray());
        }
Exemplo n.º 2
0
        // 同步加载所有数据
        protected override byte[][] LoadAllImpl(string whereClause)
        {
            IDbCommand    cmd     = Conn.CreateCommand();
            IDataReader   r       = null;
            List <byte[]> dataLst = new List <byte[]>();

            try
            {
                cmd.CommandText = string.Format(@"select Data from {0} {1}", tbName, whereClause);

                r = cmd.ExecuteReader();
                while (r.Read())
                {
                    object dataObj = r.GetValue(0);
                    byte[] data    = dataObj is DBNull ? null : (byte[])dataObj;
                    dataLst.Add(data);
                }
            }
            catch (Exception ex)
            {
                log.Error("\r\n==========\r\n" + cmd.CommandText + "\r\n" + ex.Message + "\r\n==========\r\n" + ex.StackTrace + "\r\n==========\r\n");
                throw ex;
            }
            finally
            {
                if (r != null)
                {
                    r.Close();
                }
            }

            return(dataLst.ToArray());
        }
Exemplo n.º 3
0
        // 将缓冲同步落地保存
        protected override void UpdateImpl(IDType id, T d, byte[] buff)
        {
            string addCols = "";

            if (cols != null && cols.Length > 0)
            {
                foreach (string c in cols)
                {
                    object v = cvm(d, c);
                    if (v != null)
                    {
                        addCols += ", " + c + "=" + NamedParam(c);
                    }
                }
            }

            IDbCommand cmd = Conn.CreateCommand();

            try
            {
                cmd.CommandText = string.Format(@"update {0} set Data = {1}{2} where ID = {3}", tbName, NamedParam("Data"), addCols, NamedParam("ID"));

                IDbDataParameter idParam = cmd.CreateParameter();
                idParam.ParameterName = RealParam("ID");
                idParam.DbType        = GetDbType(id, "ID");
                idParam.Value         = id;
                cmd.Parameters.Add(idParam);

                IDbDataParameter dataParam = cmd.CreateParameter();
                dataParam.ParameterName = RealParam("Data");
                dataParam.DbType        = DbType.Binary;
                dataParam.Value         = buff;
                cmd.Parameters.Add(dataParam);

                if (cols != null && cols.Length > 0)
                {
                    foreach (string c in cols)
                    {
                        object v = cvm(d, c);
                        if (v == null)
                        {
                            continue;
                        }

                        IDbDataParameter p = cmd.CreateParameter();
                        p.ParameterName = RealParam(c);
                        p.DbType        = GetDbType(v, c);
                        p.Value         = v;
                        cmd.Parameters.Add(p);
                    }
                }

                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                log.Error("\r\n==========\r\n" + cmd.CommandText + "\r\n" + ex.Message + "\r\n==========\r\n" + ex.StackTrace + "\r\n==========\r\n");
                throw ex;
            }
        }
Exemplo n.º 4
0
        // 同步删除指定 id 的数据
        protected override void DeleteImpl(IDType id)
        {
            IDbCommand cmd = Conn.CreateCommand();

            try
            {
                cmd.CommandText = string.Format(@"Delete from {0} where ID = {1}", tbName, NamedParam("ID"));

                IDbDataParameter idParam = cmd.CreateParameter();
                idParam.ParameterName = RealParam("ID");
                idParam.DbType        = GetDbType(id, "ID");
                idParam.Value         = id;
                cmd.Parameters.Add(idParam);

                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                log.Error("\r\n==========\r\n" + cmd.CommandText + "\r\n" + ex.Message + "\r\n==========\r\n" + ex.StackTrace + "\r\n==========\r\n");
                throw ex;
            }
        }
Exemplo n.º 5
0
        // 同步加载指定 id 的数据
        protected override byte[] LoadImpl(IDType id)
        {
            IDbCommand  cmd = Conn.CreateCommand();
            IDataReader r   = null;

            byte[] data = null;

            try
            {
                cmd.CommandText = string.Format(@"select Data from {0} where ID = {1}", tbName, NamedParam("ID"));

                IDbDataParameter idParam = cmd.CreateParameter();
                idParam.ParameterName = RealParam("ID");
                idParam.DbType        = GetDbType(id, "ID");
                idParam.Value         = id;
                cmd.Parameters.Add(idParam);

                r = cmd.ExecuteReader();
                if (r.Read())
                {
                    data = (byte[])r.GetValue(0);
                }
            }
            catch (Exception ex)
            {
                log.Error("\r\n==========\r\n" + cmd.CommandText + "\r\n" + ex.Message + "\r\n==========\r\n" + ex.StackTrace + "\r\n==========\r\n");
                throw ex;
            }
            finally
            {
                if (r != null)
                {
                    r.Close();
                }
            }

            return(data);
        }