コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: SPUnit.cs プロジェクト: redwolf0817/EFFC3.0
        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);
        }