创建一个属于自己的开发类库

作代码也有一点时间了,一直在不停的COPY和PASTE,能力涨的有限,深深的研究我也不太会,会用,能用好就行了,但总是做表面功夫,也得有点长进呀,今天没什么事,把平常用的一点代码,改写成一个类库,编译完成后,以后再做代码,直接引用进来,方便。高手不要笑我,低手学习一下吧!
using  System;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.ComponentModel;
using  System.Data;
using  System.Data.SqlClient;
using  System.Configuration;
using  System.Web;
using  System.Text;
using  System.Security.Cryptography;
using  System.Drawing;
using  System.Collections;
using  System.Web.SessionState;
using  System.Web.UI.HtmlControls;

namespace  PublicFunction
{
    
public class Public : System.Web.UI.WebControls.WebControl
    
{
        
///下面是打开数据库和关闭数据库的公用函数 
        private static  string ConnectionString = ConfigurationSettings.AppSettings["sqlconn"];
        
public  static  SqlConnection SqlConn =new SqlConnection(ConnectionString);
        
public static void SqlOpenDataBase()
        
{
            
if(SqlConn.State==ConnectionState.Open)
                SqlConn.Close();

            SqlConn.Open();
        }

        
public static void SqlCloseDataBase()
        
{
            SqlConn.Close();
        }




        
///如果有验证所需的密码,而且在其它数据联接中,请打开下面几行
        private static  string PassConnectionString = ConfigurationSettings.AppSettings["passconn"];
        
public  static  SqlConnection PassConn =new SqlConnection(PassConnectionString);
        
public static void PassOpenDataBase()
        
{
            
if(PassConn.State==ConnectionState.Open)
                PassConn.Close();

            PassConn.Open();
        }

        
public static void PassCloseDataBase()
        
{
            PassConn.Close();
        }

        
        
/* 1、编写: 2004-8-25
            * 2、功能:让控件得到焦点
            * 3、参数:System.Web.UI.Control control 任意已实例化的控件
            * 4、返回值: 无
            * 5、用途:使传入该方法的控件得到焦点
            
*/

        
public static bool SetFocus(System.Web.UI.Control control)
        
{
            
            
if (HttpContext.Current.Request.Browser.JavaScript)
            
{
                control.Page.RegisterStartupScript(
"sf","<script language='javascript'>document.forms[0]." +
                    control.ClientID 
+".focus();</script>");
                
return true;
            }

            
return false;
        }

        
        
///用于转换为MD5加密字符串的函数
        public static string HashCryptString(string strText,string method)
        
{
            
if(method == "MD5")
            
{
                strText 
= System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strText,"MD5");
            }

            
else if(method == "SHA1")
            
{
                strText 
= System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strText,"SHA1");
            }

            
else if(method=="BLOG")//这个加密方式取自于.TextBlog的加密函数
            {
                strText 
= strText.ToLower();
                Byte[] clearBytes 
= new UnicodeEncoding().GetBytes(strText);
                Byte[] hashedBytes 
= ((HashAlgorithm) CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes);
                
return BitConverter.ToString(hashedBytes);
            }


            
return strText;
       }


    
        
/// 
        
/// 输出指定的信息
        
/// 
        
/// 
        
///一般引用时MessageBox(this,"我来也!");

        public static void MessageBox( Page page, string msg )
        
{
            StringBuilder StrScript 
= new StringBuilder(); 
            StrScript.Append( 
"<script language=javascript>" );
            StrScript.Append( 
"alert('"+ msg +"');" ); 
            StrScript.Append( 
"</script>" ); 
            
if ( ! page.IsStartupScriptRegistered( "MessageBox" ) )
            
{
                page.RegisterStartupScript( 
"MessageBox", StrScript.ToString() );
            }

        }

        

        
/// 
        
/// 取得随机数
        
/// 
        
/// 随机数的长度
        
/// 

        public static string GetRandNum( int randNumLength )
        
{
            System.Random randNum 
= new System.Random( unchecked( ( int ) DateTime.Now.Ticks ) );
            StringBuilder sb 
= new StringBuilder( randNumLength );
            
for ( int i = 0; i < randNumLength; i++ )
            
{
                sb.Append( randNum.Next( 
09 ) );
            }

            
return sb.ToString();
        }




        
/// 下面用于记录cookie的使用
        
/// 

        
        
public static void SaveCookie(string CookieName,string CookieValue,double ExpiresTime)
        
{
            HttpCookie objCookie;
            HttpCookieCollection objCookieColl 
= HttpContext.Current.Response.Cookies;
            
for (int i=0;i<objCookieColl.Count-1;i++)
            
{
                objCookie 
= objCookieColl[i];
                
if (objCookie.Name == CookieName)
                
{
                    HttpContext.Current.Response.Cookies.Remove(CookieName);
                }

            }

            objCookie 
= null;
            objCookieColl
=null;
            
// Cookie有效期。
            HttpCookie myCookie = new HttpCookie(CookieName,CookieValue);
            myCookie.Expires 
= System.DateTime.Now.AddMinutes(ExpiresTime);
            HttpContext.Current.Response.Cookies.Add(myCookie);
        }


        
///使用方法:
        
///1:记录
        
///SaveCookie([Cookie名字],[Cookie内容],[失效时间]);
        
        
///2:获得cookie:
        
///string bbb=Server.HtmlEncode(Request.Cookies["NewCookie"].Value);
        
///Response.Write(bbb);
        
///


        
///真的要删除吗?

        public static void RealToDel(Button myButton)
        
{
          myButton.Attributes.Add(
"onclick","return confirm('您确定要删除吗?');");
        }


    
        
        
        
        
///用存储过程执行命令:
        
///一、无返回值时

        /*
        SqlCommand myCommand=new SqlCommand("存储过程名", Public.SqlConn);;
        myCommand.CommandType=CommandType.StoredProcedure;

        myCommand.Parameters.Add(new SqlParameter("@UserName",SqlDbType.VarChar,50));
        myCommand.Parameters["@UserName"].Value=Session["UserName"].ToString();

        Public.OpenDataBase();
        myCommand.ExecuteNonQuery();
        Public.CloseDataBase();
        
*/

        
///二、有返回值时:
        /*
        (1) 一般如果在存储过程中没有很多(>1)的返回值,可以直接用 select 返回 
            SqlCommand myCommand=new SqlCommand("存储过程名", Public.PassWordConn);;
            myCommand.CommandType=CommandType.StoredProcedure;
            myCommand.Parameters.Add(new SqlParameter("@UserName",SqlDbType.VarChar,50));
            myCommand.Parameters["@UserName"].Value=UserName.Text.Trim();
                    
            Public.OpenDataBasePassWord();
            int Result=Int32.Parse(myCommand.ExecuteScalar().ToString());
            Public.CloseDataBasePassWord();
    
        
        
        (2)如果有多个需返回的值
        
        定义SQL存储过程时,如:
        CREATE PROCEDURE CountProc
    @Count int output
     AS
    set @Count=1
    GO
        
        则在使用时:
        int output;

        
        SqlCommand myComm = new SqlCommand("ProcedureName",Public.SqlConn);
        myComm.CommandType = CommandType.StoredProcedure;
        myComm.Parameters.Add( new SqlParameter("@Output",SqlDbType.Int,4) );
        myComm.Parameters["@Output"].Direction = ParameterDirection.Output;
        Public.OpenDataBase();
        myComm.ExecuteNonQuery();
        output = Convert.ToInt32( myComm.Parameters["@Output"].Value );
        Public.CloseDataBase();        
        
*/


        
///三、返回DataSet时
        /*
         * 
            SqlCommand MyCommand=new SqlCommand([存储过程名],Public.SqlConn);
            MyCmd.CommandType=CommandType.StoredProcedure;
              SqlDataAdapter da = new SqlDataAdapter(MyCommand);  
            DataSet ds = new DataSet("myTable");
            da.Fill(ds, "myTable");
            DataGrid1.DataSource=ds;
            DataGrid1.DataBind(); 
            Public.CloseDataBase();
         
*/





    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值