Exemplo n.º 1
0
        /// <summary>
        /// 设置参数
        /// </summary>
        /// <param name="xmldoc">参数列表文档</param>
        /// <param name="PR">参数区域类别</param>
        /// <param name="rangeName">参数区域名称</param>
        /// <param name="L">参数使用来源类别</param>
        /// <param name="key">参数名称</param>
        /// <param name="value">参数值</param>
        /// <param name="dbtype">参数数据类型</param>
        /// <returns>返回参数节点</returns>
        static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string rangeName, ParamUseType L, string key, string value, DBTypeCommon  dbtype)
        {
            if (xmldoc == null || string.IsNullOrEmpty(key))
                return null;
            if (xmldoc.DocumentElement == null)
                try
                {
                    xmldoc.LoadXml("<D></D>");
                }
                catch
                {
                   
                }
            //对于系统参数和页面参数,只有一个区域,名称后边覆盖前边
            string strPRName = "P";
            if (ParamRangeType.System == PR) strPRName = "S";
            if (ParamRangeType.Page == PR) strPRName = "P";
            if (ParamRangeType.Band == PR) strPRName = "B";
            XmlNode xnPR = xmldoc.SelectSingleNode("//PL[@t='" + strPRName + "']");
            if (ParamRangeType.Band == PR && !string.IsNullOrEmpty(rangeName))
            {
                xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and @n='" + rangeName + "']");
                if (null == xnPR)
                    xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and not(@n)]");
            }
            if (null == xnPR)
            {
                xnPR = xmldoc.CreateElement("PL");
                xnPR = xmldoc.DocumentElement.AppendChild(xnPR);
                ((XmlElement)xnPR).SetAttribute("t", strPRName);
            }
            if (!string.IsNullOrEmpty(rangeName))
                ((XmlElement)xnPR).SetAttribute("n", rangeName);

            string strLName="T";
            if (ParamUseType.Temp == L) strLName = "T";
            if (ParamUseType.CustomDefine == L) strLName = "C";
            if (ParamUseType.Data == L) strLName = "D";
            if (ParamUseType.Trans == L) strLName = "Ts";
            XmlNode xnL = xnPR.SelectSingleNode("L[@t='"+strLName+"']");
            if (null == xnL)
            {
                xnL = xmldoc.CreateElement("L");
                xnL = xnPR.AppendChild(xnL);
                ((XmlElement)xnL).SetAttribute("t", strLName);
            }
            
            XmlElement xeParam = xnL.SelectSingleNode("P[@n='"+key+"']") as XmlElement;
            if (null == xeParam)
            {
                xeParam = xmldoc.CreateElement("P");
                xeParam = xnL.AppendChild(xeParam) as XmlElement;
                xeParam.SetAttribute("n", key);
            }
            xeParam.SetAttribute("v", value);
            switch (dbtype)
            {
                case DBTypeCommon.String:
                    xeParam.SetAttribute("t", "s");
                    break;
                case DBTypeCommon.Int:
                    xeParam.SetAttribute("t", "i");
                    break;
                case DBTypeCommon.Decimal:
                    xeParam.SetAttribute("t", "f");
                    break;
                case DBTypeCommon.DateTime:
                    xeParam.SetAttribute("t", "d");
                    break;
                case DBTypeCommon.Bool:
                    xeParam.SetAttribute("t", "b");
                    break;
                case DBTypeCommon.Guid:
                    xeParam.SetAttribute("t", "guid");
                    break;
                default:
                    xeParam.SetAttribute("t", "s");
                    break;
            }
            return xeParam;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 设置参数
        /// </summary>
        /// <param name="xmldoc">参数列表文档</param>
        /// <param name="PR">参数区域类别</param>
        /// <param name="rangeName">参数区域名称</param>
        /// <param name="L">参数使用来源类别</param>
        /// <param name="key">参数名称</param>
        /// <param name="value">参数值</param>
        /// <param name="dbtype">参数数据类型</param>
        /// <returns>返回参数节点</returns>
        static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string rangeName, ParamUseType L, string key, string value, DBTypeCommon dbtype)
        {
            if (xmldoc == null || string.IsNullOrEmpty(key))
            {
                return(null);
            }
            if (xmldoc.DocumentElement == null)
            {
                try
                {
                    xmldoc.LoadXml("<D></D>");
                }
                catch
                {
                }
            }
            //对于系统参数和页面参数,只有一个区域,名称后边覆盖前边
            string strPRName = "P";

            if (ParamRangeType.System == PR)
            {
                strPRName = "S";
            }
            if (ParamRangeType.Page == PR)
            {
                strPRName = "P";
            }
            if (ParamRangeType.Band == PR)
            {
                strPRName = "B";
            }
            XmlNode xnPR = xmldoc.SelectSingleNode("//PL[@t='" + strPRName + "']");

            if (ParamRangeType.Band == PR && !string.IsNullOrEmpty(rangeName))
            {
                xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and @n='" + rangeName + "']");
                if (null == xnPR)
                {
                    xnPR = xmldoc.SelectSingleNode("//PL[@t='B' and not(@n)]");
                }
            }
            if (null == xnPR)
            {
                xnPR = xmldoc.CreateElement("PL");
                xnPR = xmldoc.DocumentElement.AppendChild(xnPR);
                ((XmlElement)xnPR).SetAttribute("t", strPRName);
            }
            if (!string.IsNullOrEmpty(rangeName))
            {
                ((XmlElement)xnPR).SetAttribute("n", rangeName);
            }

            string strLName = "T";

            if (ParamUseType.Temp == L)
            {
                strLName = "T";
            }
            if (ParamUseType.CustomDefine == L)
            {
                strLName = "C";
            }
            if (ParamUseType.Data == L)
            {
                strLName = "D";
            }
            if (ParamUseType.Trans == L)
            {
                strLName = "Ts";
            }
            XmlNode xnL = xnPR.SelectSingleNode("L[@t='" + strLName + "']");

            if (null == xnL)
            {
                xnL = xmldoc.CreateElement("L");
                xnL = xnPR.AppendChild(xnL);
                ((XmlElement)xnL).SetAttribute("t", strLName);
            }

            XmlElement xeParam = xnL.SelectSingleNode("P[@n='" + key + "']") as XmlElement;

            if (null == xeParam)
            {
                xeParam = xmldoc.CreateElement("P");
                xeParam = xnL.AppendChild(xeParam) as XmlElement;
                xeParam.SetAttribute("n", key);
            }
            xeParam.SetAttribute("v", value);
            switch (dbtype)
            {
            case DBTypeCommon.String:
                xeParam.SetAttribute("t", "s");
                break;

            case DBTypeCommon.Int:
                xeParam.SetAttribute("t", "i");
                break;

            case DBTypeCommon.Decimal:
                xeParam.SetAttribute("t", "f");
                break;

            case DBTypeCommon.DateTime:
                xeParam.SetAttribute("t", "d");
                break;

            case DBTypeCommon.Bool:
                xeParam.SetAttribute("t", "b");
                break;

            case DBTypeCommon.Guid:
                xeParam.SetAttribute("t", "guid");
                break;

            default:
                xeParam.SetAttribute("t", "s");
                break;
            }
            return(xeParam);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 设置参数
 /// </summary>
 /// <param name="xmldoc">参数列表文档</param>
 /// <param name="PR">参数区域类别</param>
 /// <param name="key">参数名称</param>
 /// <param name="value">参数值</param>
 /// <param name="dbtype">参数类型</param>
 /// <returns>返回参数节点</returns>
 static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string key, string value, DBTypeCommon dbtype)
 {
     return setValue(xmldoc, PR, "", ParamUseType.Temp, key, value, dbtype);
 }
Exemplo n.º 4
0
 /// <summary>
 /// 设置参数
 /// </summary>
 /// <param name="xmldoc">参数列表文档</param>
 /// <param name="PR">参数区域类别</param>
 /// <param name="key">参数名称</param>
 /// <param name="value">参数值</param>
 /// <param name="dbtype">参数类型</param>
 /// <returns>返回参数节点</returns>
 static public XmlElement setValue(XmlDocument xmldoc, ParamRangeType PR, string key, string value, DBTypeCommon dbtype)
 {
     return(setValue(xmldoc, PR, "", ParamUseType.Temp, key, value, dbtype));
 }