`

ASP.NET里公用的一些方法

阅读更多
 

///<summary>

    ///公共的方法

    ///</summary>

    public class PubFun

    {

        protected DB db = new DB();

        ///<summary>

        ///根据某一唯一条件获取另一字段的值

        ///</summary>

        ///<param name="strField">要获取的字段名称</param>

        ///<param name="condition">查讯条件</param>

        ///<param name="table">表名</param>

        ///<returns>返回string</returns>

        public string GetStrByID(string strField, string condition, string table)

        {

            db.DBOpen();

            SqlCommand cmd1 = new SqlCommand();

            cmd1.Connection = db.strConn;

            cmd1.CommandText = "procGetStrByID";

            cmd1.CommandType = CommandType.StoredProcedure;

            cmd1.Parameters.AddWithValue("@field", strField);

            cmd1.Parameters.AddWithValue("@condition", condition);

            cmd1.Parameters.AddWithValue("@table", table);

            string str2show=string.Empty;

            if (cmd1.ExecuteScalar() != null)

            {

                str2show = cmd1.ExecuteScalar().ToString();

            }

            db.DBClose();

            return str2show;

        }

        ///<summary>

        ///判断是否为数字

        ///</summary>

        ///<param name="expression">输入的string值</param>

        ///<returns>返回布尔值</returns>

        public bool IsNumber(string expression)

        {

            if (expression.Trim().Length == 0)

            {

                return false;

            }

            expression = expression.Trim();

            bool hasDecimal = false;

            int startIdx = 0;

            if (expression.StartsWith("-"))

            {

                startIdx = 1;

            }

            for (int i = startIdx; i < expression.Length; i++)

            {

                // Check for decimal

                if (expression[i] == '.')

                {

                    if (hasDecimal) // 2nd decimal

                        return false;

                    else // 1st decimal

                    {

                        // inform loop decimal found and continue

                        hasDecimal = true;

                        continue;

                    }

                }

                // check if number

                if (!char.IsNumber(expression[i]))

                    return false;

            }

            return true;

        }

        ///<summary>

        ///判断是否为整形数字

        ///</summary>

        ///<param name="input">输入的Object</param>

        ///<returns></returns>

        public bool IsInt(object input)

        {

            bool boltmp = false;

            try

            {

                int i = Convert.ToInt32(input);

                boltmp = true;

            }

            catch

            {

                boltmp = false;

            }

            return boltmp;

        }

        ///<summary>

        ///过滤查询字符串

        ///</summary>

        ///<param name="args">输入的object对象</param>

        ///<returns>返回布尔值</returns>

        public bool CheckParams(params object[] args)

        {

            string[] Lawlesses ={ "=", "'" };

            if (Lawlesses == null || Lawlesses.Length <= 0) return true;

            //构造正则表达式,例:Lawlesses是=号和'号,则正则表达式为 .*[=}'].* (正则表达式相关内容请见MSDN)

            //另外,由于我是想做通用而且容易修改的函数,所以多了一步由字符数组到正则表达式,实际使用中,直接写正则表达式亦可;

            String str_Regex = ".*[";

            for (int i = 0; i < Lawlesses.Length - 1; i++)

                str_Regex += Lawlesses[i] + "|";

            str_Regex += Lawlesses[Lawlesses.Length - 1] + "].*";

            foreach (object arg in args)

            {

                if (arg is string)//如果是字符串,直接检查

                {

                    if (Regex.Matches(arg.ToString(), str_Regex).Count > 0)

                        return false;

                }

                else if (arg is ICollection)

                //如果是一个集合,则检查集合内元素是否字符串,是字符串,就进行检查

                {

                    foreach (object obj in (ICollection)arg)

                    {

                        if (obj is string)

                        {

                            if (Regex.Matches(obj.ToString(), str_Regex).Count > 0)

                                return false;

                        }

                    }

                }

            }

            return true;

        }

        ///<summary>

        ///截取标题字符串,并在末尾加...

        ///</summary>

        ///<param name="strInput">要截断的字符串</param>

        ///<param name="intLen">截断长度</param>

        ///<returns>返回新的字符串</returns>

        public string CutStr(string strInput, int intLen)

        {

            strInput = strInput.Trim();

            byte[] myByte = System.Text.Encoding.Default.GetBytes(strInput);

            if (myByte.Length > intLen)

            {

                //截取操作

                string resultStr = string.Empty;

                for (int i = 0; i < strInput.Length; i++)

                {

                    byte[] tempByte = System.Text.Encoding.Default.GetBytes(resultStr);

                    if (tempByte.Length < intLen - 2)

                    {

                        resultStr += strInput.Substring(i, 1);

                    }

                    else

                    {

                        break;

                    }

                }

                return resultStr + "...";

            }

            else

            {

                return strInput;

            }

        }

        ///<summary>

        ///根据无参数的存储过程生成Dataset,并可对其中某字段进行截断

        ///</summary>

        ///<param name="ProcName">存储过程名称</param>

        ///<param name="cutField">要截断的字段</param>

        ///<param name="cutlen">截断长度</param>

        ///<returns></returns>

        public DataSet FillDatasetFromSP(string ProcName, string cutField, int cutlen)

        {

            db.DBOpen();

            SqlCommand cmd1 = new SqlCommand();

            cmd1.Connection = db.strConn;

            cmd1.CommandText = ProcName;

            cmd1.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter sda1 = new SqlDataAdapter(cmd1);

            DataSet ds1 = new DataSet();

            sda1.Fill(ds1);

            db.DBClose();

            CutStrFromDataSet(ds1, cutField, cutlen);

            return ds1;

        }

        ///<summary>

        ///修改替换DataSet中的列内容,如给标题进行截取

        ///</summary>

        ///<param name="ds">dataset名称</param>

        ///<param name="ColumnName">列名</param>

        ///<param name="intLen">截断字符数量</param>

        public void CutStrFromDataSet(DataSet ds, string ColumnName, int intLen)

        {

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

            {

                ds.Tables[0].Rows[i][ColumnName] = CutStr(ds.Tables[0].Rows[i][ColumnName].ToString(), intLen);

            }

        }

        ///<summary>

        ///检查行是否存在

        ///</summary>

        ///<param name="table">要检查的表名</param>

        ///<param name="field">检查字段</param>

        ///<param name="sWhere">查讯条件</param>

        ///<returns>返回布尔值</returns>

        public bool RowsCheck(string table, string field, string sWhere)

        {

            db.DBOpen();

            string sSQL = "select " + field + " from " + table + " where " + sWhere;

            SqlCommand command = new SqlCommand(sSQL, db.strConn);

            SqlDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow);

            bool booltemp = false;

            if (reader.Read())

            {

                booltemp = true;

            }

            db.DBClose();

            return booltemp;

        }

        ///<summary>

        ///判断字符串中某一段是否为整数型

        ///</summary>

        ///<param name="inputstr">输入的字符串</param>

        ///<param name="start">开始位置,由0始</param>

        ///<param name="len">长度</param>

        ///<returns></returns>

        public bool CheckStrIsInt(string inputstr, int start, int len)

        {

            int tmp;

            try

            {

                tmp = Convert.ToInt32(inputstr.Substring(start, len));

                return true;

            }

            catch

            {

                return false;

            }

        }

        ///<summary>

        ///获得某一字段的最大值加1

        ///</summary>

        ///<param name="field">字段名</param>

        ///<param name="table">表名</param>

        ///<param name="condition">查讯条件</param>

        ///<returns>返回最大值的string</returns>

        public string GetMaxValueAdd1(string field, string table, string condition)

        {

            string strSQL = string.Format("select max({0})+1 from {1} where {2}", field, table, condition);

            db.DBOpen();

            SqlCommand cmd = new SqlCommand(strSQL, db.strConn);

            string tmpstr = cmd.ExecuteScalar().ToString();

            db.DBClose();

            return tmpstr;

        }

        public int GetMaxIntValue(string field, string table, string condition)

        {

            if (condition != null)

            {

                if (condition.Length != 0)

                {

                    condition = "where " + condition;

                }

                else

                    condition = string.Empty;

            }

            string strSQL = string.Format("select max({0}) from {1} {2}", field, table, condition);

            db.DBOpen();

            SqlCommand cmd = new SqlCommand(strSQL, db.strConn);

            object tmpstr = cmd.ExecuteScalar();

            db.DBClose();

            return (int)tmpstr;

        }

        ///<summary>

        ///计算数据表符合某一条件的行的数量

        ///</summary>

        ///<param name="TableName">表名称</param>

        ///<param name="Query">条件</param>

        ///<returns></returns>

        public int GetRowsNum(string TableName, string Query)

        {

            string selectString = "select count(*) from " + TableName + "";

            if (Query != string.Empty && Query != null)

            {

                selectString += " where " + Query + "";

            }

            db.DBOpen();

            SqlCommand cmd = new SqlCommand(selectString, db.strConn);

            int rowsnum = (int)cmd.ExecuteScalar();

            cmd.Connection.Close();

            db.DBClose();

            return rowsnum;

        }

        ///<summary>

       ///删除表中的某一行数据

        ///</summary>

        ///<param name="TableName">表名</param>

        ///<param name="condition">条件</param>

        public void DelRow(string TableName, string condition)

        {

            db.DBOpen();

            string selectString;

            selectString = "delete from " + TableName + " where " + condition + "";

            db.Execute(selectString);

            db.DBClose();

        }

        ///<summary>

        ///根据整数生成**元/**万元类型的金额字符串

        ///</summary>

        ///<param name="InputMoney">金额</param>

        ///<returns></returns>

        public string ToMoneyChar(int InputMoney)

        {

            string strtmp = string.Empty;

            if (InputMoney < 10000)

                strtmp = InputMoney.ToString() + "元";

            else

                strtmp = (Convert.ToDouble(InputMoney) / 10000) + "万元";

            return strtmp;

        }

        ///<summary>

        ///把1.0等转换为布尔值

        ///</summary>

        ///<param name="inputchar">要转换的值</param>

        ///<param name="typecode">转换类型</param>

        ///<returns></returns>

        public bool Char2Bool(object inputchar, System.TypeCode typecode)

        {

            bool isTmp = false;

            if (typecode == System.TypeCode.Byte)

            {

                if (inputchar.ToString() == "1")

                    isTmp = true;

                else

                    isTmp = false;

            }

            return isTmp;

        }

        ///<summary>

        ///生成一个随机的16位数字字母字符串

        ///</summary>

        ///<returns></returns>

        public string CreateRandomString()

        {

            int Ran, Len;

            Len = 16;

            string pwdchars = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

            string createpass = "";

            Random rnd = new Random();

            for (int i = 0; i < Len; i++)

            {

                Ran = rnd.Next(pwdchars.Length);

                createpass += pwdchars[Ran];

            }

            return createpass;

        }

    }

    ///<summary>

    ///动网论坛相关类

    ///</summary>

    public class DVBBS

    {

        ///<summary>

        ///用动网的MD5加密方法对密码加密

        ///</summary>

        ///<param name="input">要加密的字符串</param>

        ///<returns>返回加密后md5码中间16位</returns>

        public string MD5(string input)

        {

            StringBuilder sb1 = new StringBuilder();

            sb1.Append(FormsAuthentication.HashPasswordForStoringInConfigFile(input, "MD5"));

            sb1.Remove(0, 8);

            sb1.Remove(16, 8);

            string strtmp = sb1.ToString().ToLower();

            return strtmp;

        }

        ///<summary>

        ///根据标准MD5生成动网规则的密码

        ///</summary>

        ///<param name="inputmd5">输入标准32位MD5码</param>

        ///<returns>返回16位动网规则密码</returns>

        public string DVmd5(string inputmd5)

        {

            StringBuilder sb2 = new StringBuilder();

            sb2.Append(inputmd5);

            sb2.Remove(0, 8);

            sb2.Remove(16, 8);

            string strtmp = sb2.ToString().ToLower();

            return strtmp;

        }

    }

分享到:
评论

相关推荐

    Asp.net 通用公用的方法归纳

    在Asp.net开发中,通用公用方法是提升代码复用性和效率的关键。这些方法通常包含了对数据处理、网络通信、用户交互等常见操作的封装,使得开发者能够在多个场景下便捷地调用。以下是对标题和描述中提及的一些知识点...

    ASP.NET通用数据库访问组件

    ASP.NET通用数据库访问组件是一种软件开发工具,它提供了一种标准化的方法来访问各种类型的数据库,如MSSQL(Microsoft SQL Server)、MYSQL(MySQL Server)、ORACLE(Oracle Database)和ACCESS(Microsoft Access...

    asp.net小作业

    这个“asp.net小作业”可能是一个学习项目,包含了实验性的代码,虽然描述中提到这些代码是公用的,意味着它们可能是为了教学目的而设计的,供学生参考和学习。 在ASP.NET中,开发者可以使用多种编程语言,如C#或VB...

    asp.net 导出EXCEL 类

    在ASP.NET中,导出数据到Excel是一种常见的需求,尤其在数据分析、报表生成以及数据共享等方面。本知识点主要讲解如何使用asp.net实现从网页(如GridView、Div或Table)将数据导出为Excel文件。 首先,我们需要理解...

    asp.net仿126邮箱公用界面

    这是本人效仿126邮箱界面在美工的配合下做的一公用界面、基本上适合很多信息管理系统的界面要求。本人的CSS和JAVASCIRPT的功底有限,开发的东西难免会有些BUG或者很肤浅的地方,希望和朋友们一起探讨解决其中的一些...

    ASP.NET公用数据库访问类组件(支持多种数据库)

    标题"ASP.NET公用数据库访问类组件(支持多种数据库)"所提及的组件,是一个设计用于ASP.NET应用程序的通用解决方案,它允许程序与各种类型的数据库进行交互,如SQL Server、MySQL、Oracle、SQLite等。这种组件通常...

    asp.net帮助工具类公用类

    在ASP.NET项目中,为了提高代码复用率和开发效率,开发者常常会创建一些帮助工具类(Helper Classes)或公用类(Utility Classes)。这些类通常包含一系列静态方法,可以处理各种通用任务,如数据验证、文件操作、...

    【ASP.NET编程知识】ASP.NET MVC基础.docx

    * ASP.NET 中的一些功能可以被二者公用 * Webform 编程模型是典型的以事件驱动的 web 模型,而 MVC 则不是 * Webform 的 URL 地址是基于文件系统的,而 MVC 则是基于 Action 四、ASP.NET MVC 中的约定 * 所有的...

    基于ASP.NET图书管理系统源码,无密码

    `Global`通常包含全局的程序集或事件处理,`Common`可能存放一些公用的类和方法,提高代码复用性。`MasterPage`是ASP.NET中的主页面,用于定义网站的统一布局,子页面可以继承它的布局,方便维护和更新。 六、图片...

    ASP.NET自行车管理网站VS2005+SQLSERVER2005

    ASP.NET自行车管理网站是基于微软的开发环境Visual Studio 2005(VS2005)和数据库管理系统SQL Server 2005构建的。这个项目是一个学习资源,由作者在学习过程中完成,并决定分享出来供他人参考。在这个网站中,我们...

    Asp.net用户管理系统

    【Asp.net用户管理系统】是一个基于.NET框架的Web应用程序,用于高效、安全地管理用户权限和数据。在这样的系统中,通常包含多个关键组件和技术,这些都与.NET平台的特性和功能紧密相关。 1. **TreeView组件**:...

    DbHelperSQL类文件(asp.net最基本方法)

    DbHelperSQL类,包括对数据库操作的所有方法,如公用方法、执行简单SQL语句、执行带参数的SQL语句、存储过程操作等。

    基于Asp.net的综合教务管理系统

    《基于Asp.net的综合教务管理系统》是一个涵盖了多个核心功能模块的教育信息化解决方案,旨在提升教务管理的效率和质量。系统主要由四大模块构成:教务管理模块、学生模块、教师管理模块以及公用模块,每个大模块下...

    ASP.NET 直接绑定标准SQL数据表的树

    在ASP.NET开发中,我们经常需要展示层次结构的数据,如组织结构、目录树等,这时候树形控件(TreeView)就显得尤为重要。本教程将详细讲解如何在ASP.NET中直接绑定标准SQL数据库数据表,创建一个三级树结构。 首先...

    asp.net网站项目(健康网站及其管理系统)

    该项目使用的是asp.net开发环境,中间使用了c#后台编码,html前台显示,css前台排版,javascript前台脚本,jQuery以及jQuery-UI的使用,ajax的局部页面刷新技术,sqlserver数据库的数据存储以及查询更新。...

    基于asp.net的后台管理系统(Bootstrap)(源码+数据库).zip

    角色对应用程序授权(多个前台应用公用一个后台权限管理系统) 部门对用户授权 7. 提供字典表用于前台网站个性化配置 8. 完全响应式布局(支持电脑、平板、手机等所有主流设备) 9. 内置多数据源支持,配置简单...

    ASP.NET 3.5 开发大全

    第1章 认识ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET历史与展望 1.1.2 ASP.NET与ASP 1.1.3 ASP.NET开发工具 1.1.4 ASP.NET客户端 1.1.5 ASP.NET 3.5新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET应用程序需框架 1.2.1 ...

    ASP.NET3.5从入门到精通

    第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX 1.2 .NET 应用程序需...

    ASP.net 权限系统

    一些使编码更加方便的扩展方法 Lm.Common.Security.Cryptography 加密 Lm.Common.Threading 同类任务线型、不同类任务并行 Lm.Common.Web web开发中比较便捷的代码 Lm.Common.Web.Security cookie读取以及验证码...

Global site tag (gtag.js) - Google Analytics