/// <summary> /// 清空参数,但保留dao和dbconnstring,resource manager和transtoken /// </summary> public void ClearParameters() { IDBAccessInfo dao = Dao; string dbs = DBConnString; var rm = Resources; var token = CurrentTransToken; this.Clear(); this.Dao = dao; this.DBConnString = dbs; SetValue(ParameterKey.TOKEN, token); SetValue(ParameterKey.RESOURCE_MANAGER, rm); }
public DataCollection DoOperate(ParameterStd p) { string flag = p.GetValue <string>("_unit_action_flag_"); UnitParameter up = (UnitParameter)p; T t = (T)Activator.CreateInstance(typeof(T), true); var sqlobj = t.GetSqlFunc(flag)(up); if (!(sqlobj is FrameDLRObject)) { throw new TypeRequiredException("需要的动态数据对象类型应该为FrameDLRObject"); } IDBAccessInfo dba = up.Dao; DBOParameterCollection dbc = up.SPParameter; UnitDataCollection rtn = new UnitDataCollection(); if (dba is ADBAccess) { bool isrturnds = sqlobj.isreturnds != null ? sqlobj.isreturnds : false; DBDataCollection dbrtn = ((ADBAccess)dba).ExcuteProcedure(ComFunc.nvl(sqlobj.spname), isrturnds, ref dbc); if (dbrtn.IsSuccess) { foreach (string s in dbrtn.Keys) { if (dbrtn[s] is DataSetStd) { rtn.QueryDatas = dbrtn.ReturnDataSet; } else { rtn.SetValue(s, dbrtn[s]); } } } } return(rtn); }