Exemple #1
0
        /// <summary>
        /// 调用存储过程返回值
        /// </summary>
        /// <param name="port">端口号:1433,0,def 会被忽略</param>
        /// <param name="instance">实例名:MSSQLSERVER,0,def  会被忽略</param>
        /// <param name="uid">SQL登录用户名</param>
        /// <param name="password">SQL登录密码</param>
        /// <param name="dbname">数据库</param>
        /// <param name="rstsq">运行的usp开头的存储过程</param>
        /// <param name="rspara">存储过程参数竖线分隔多个参数</param>
        /// <returns>一个字符串(可能是数字),有些过程反回的DATATABLE会被拼成一个分号分隔的长字符串</returns>
        protected static string GetSqlProcValue(string port, string instance, string uid, string password, string dbname, string rstsq, string rspara)
        {
            string mess = "";

            //1.处理密文
            if (password.Length > 2)
            {
                pwd_ pwds = new pwd_("8jd72jdi", "j9ks8726");
                password = pwds.Decode(password + "");
            }
            else
            {
                return("password [" + password + "] is too short !--51ak");
            }
            if (password.Contains("@51ak"))
            {
                password = password.Replace("@51ak", "");
            }
            else
            {
                return("password [" + password + "] is unrecognized !--51ak");
            }
            //2.处理端口
            if (port == "0" || port == "def" || port == "1433")
            {
                port = "";
            }
            else
            {
                int cport = c_.c_int(port);
                if (cport > 0)
                {
                    port = "," + cport.ToString();
                }
                else
                {
                    return("Sql port " + port + "unrecognized !--51ak");
                }
            }

            //2.处理实例
            if (instance == "0" || instance == "def" || instance == "MSSQLSERVER")
            {
                instance = "";
            }
            else
            {
                instance = "\\" + instance.ToString();
            }
            string connstr = string.Format("server={0}{1}{2};uid={3};password={4};database={5};", "127.0.0.1", port, instance, uid, password, dbname);

            try
            {
                if (rstsq.Contains("usp_zabbix_discovery"))
                {
                    sql_       ooo = new sql_(connstr);
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = rstsq;
                    DataTable     dt       = ooo.get_datatable(cmd);
                    StringBuilder sb_s1    = new StringBuilder();
                    int           allcount = dt.Rows.Count;
                    if (allcount > 0)
                    {
                        sb_s1.Append("{\"data\":[");
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            sb_s1.Append("{\"{#FSNAME}\":\"" + dt.Rows[i][0].ToString() + "\",\"{#FSTYPE}\":\"" + dt.Rows[i][1].ToString() + "\"}");
                            if (i < allcount - 1)
                            {
                                sb_s1.Append(",");
                            }
                        }
                        sb_s1.Append(" ]}");
                    }

                    mess = sb_s1.ToString();

                    //
                }
                else if (rstsq.Contains("usp"))
                {
                    sql_       ooo = new sql_(connstr);
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = rstsq;
                    if (rspara.Length > 0 && rspara != "null")
                    {
                        SqlParameter ccc = new SqlParameter("@para", SqlDbType.VarChar, 1000);
                        ccc.Value = rspara;
                        cmd.Parameters.Add(ccc);
                    }
                    DataTable dt = ooo.get_datatable(cmd);

                    StringBuilder sb_s1 = new StringBuilder();
                    if (dt.Rows.Count > 0)
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            if (i > 0)
                            {
                                sb_s1.Append(",");
                            }
                            sb_s1.Append(dt.Rows[i][0].ToString());
                        }
                    }
                    mess = sb_s1.ToString();
                }
                else
                {
                    return("rstsq is unrecognized !--51ak");
                }
            }
            catch (Exception ed)
            {
                return(ed.Message);
            }

            return(mess);
        }
Exemple #2
0
        /// <summary>
        /// 字符串加密后的密文
        /// </summary>
        /// <param name="oldstr">原文</param>
        /// <returns></returns>
        protected static string GetPasswordStr(string oldstr)
        {
            pwd_ pwds = new pwd_("8jd72jdi", "j9ks8726");

            return(pwds.Encode(oldstr + "@51ak"));
        }