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); }
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); }
//对象写入到数据库中 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); } }
//从数据库中恢复对象 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; } } }
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); }
public void deleteObj(CDataAccessBase Obj) { deleteObj(Obj, Obj.getPkValue().ToString()); }
/// <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 + "'"); }
public void Db2Obj(CDataAccessBase obj) { Db2Obj(obj, obj.getPkValue().ToString()); }
public void Obj2Db(CDataAccessBase obj) { Obj2Db(obj, obj.getPkValue().ToString()); }