Example #1
0
        public CDataAccessBase[] getObjList(IDataAccessBase obj, int PageIndex, int PageSize)
        {
            Type t = obj.GetType();

            DataTable dt = ExecProcedure("AllowPaging", new[]
            {
                new OleDbParameter("@pageindex", PageIndex),
                new OleDbParameter("@PageSize", PageSize),
                new OleDbParameter("@tsql", obj.generateListSql())
            }
                                         ).Tables[0];


            CDataAccessBase[] ba = null;
            if (dt.Rows.Count > 0)
            {
                ba = new CDataAccessBase[dt.Rows.Count];
            }
            int i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                var k = (CDataAccessBase)Activator.CreateInstance(t);
                k.InitFromDataRow(dr);
                ba[i] = k;
                i++;
            }

            return(ba);
        }
Example #2
0
        public CDataAccessBase[] getObjList(IDataAccessBase obj, int RecordCount)
        {
            CClassQuery ccq = obj.generateListSql(RecordCount);

            if (ccq == null)
            {
                return(null);
            }
            Type t = obj.GetType();

            DataTable dt = this.ExecQuery(ccq.sql, ccq.parameters);

            CDataAccessBase[] ba = null;
            if (dt.Rows.Count > 0)
            {
                ba = new CDataAccessBase[dt.Rows.Count];
            }
            int i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                CDataAccessBase k = (CDataAccessBase)Activator.CreateInstance(t);
                k.InitFromDataRow(dr);
                ba[i] = k;
                i++;
            }

            return(ba);
        }
Example #3
0
        //对象写入到数据库中
        public void Obj2Db(CDataAccessBase obj, string PkValue)
        {
            //修改版本号

            string tableName = obj.TableName;

            using (
                DataTable dt =
                    ExecQuery("select * from " + tableName + " where " + obj.PKFieldName + "='" +
                              (PkValue) + "' "))
            {
                obj.beforSave(this);
                DataRow dr;
                if (dt.Rows.Count > 0)
                {
                    dr = dt.Rows[0];
                    obj.proptertyToDataTable(dr);
                }
                else
                {
                    dr = dt.NewRow();
                    obj.proptertyToDataTable(dr);
                    dt.Rows.Add(dr);
                }

                Update(dt);
                obj.afterSave(this);
            }
        }
Example #4
0
        //从数据库中恢复对象
        public void Db2Obj(CDataAccessBase obj, string PkValue)
        {
            string tableName = obj.TableName;

            using (
                DataTable dt =
                    ExecQuery("select * from " + tableName + " where " + obj.PKFieldName + "='" +
                              (PkValue) + "' "))
            {
                DataRow dr;
                if (dt.Rows.Count > 0)
                {
                    dr = dt.Rows[0];
                    obj.InitFromDataRow(dr);
                }
                else
                {
                    obj = null;
                }
            }
        }
Example #5
0
        public CDataAccessBase getObj(IDataAccessBase obj)
        {
            CClassQuery ccq = obj.CheckObj();

            if (ccq == null)
            {
                return(null);
            }
            Type t = obj.GetType();

            DataTable       dt = this.ExecQuery(ccq.sql, ccq.parameters);
            CDataAccessBase ba = null;

            int i = 0;

            foreach (DataRow dr in dt.Rows)
            {
                CDataAccessBase k = (CDataAccessBase)Activator.CreateInstance(t);
                k.InitFromDataRow(dr);
                ba = k;
                break;
            }
            return(ba);
        }
Example #6
0
 public void deleteObj(CDataAccessBase Obj)
 {
     deleteObj(Obj, Obj.getPkValue().ToString());
 }
Example #7
0
 /// <summary>
 /// 从数据库中删除对象
 /// </summary>
 /// <param name="Obj">对象</param>
 /// <param name="PkValue">主键值</param>
 public void deleteObj(CDataAccessBase Obj, string PkValue)
 {
     ExecSQL("delete " + Obj.TableName + " where " + Obj.PKFieldName + "='" + PkValue + "'");
 }
Example #8
0
 public void Db2Obj(CDataAccessBase obj)
 {
     Db2Obj(obj, obj.getPkValue().ToString());
 }
Example #9
0
 public void Obj2Db(CDataAccessBase obj)
 {
     Obj2Db(obj, obj.getPkValue().ToString());
 }