黑马程序员——SQLHelper的写法

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

一般为了方便我们在程序中做数据操作,都会封装一个SQLHelper的类,在这里分享一下我写的SQLHelper,并分析一下里面的代码。

public class SQLHelper
    {
       //用于获取连接字符串的属性
       public string ConnectionString
       {
           get {
              return ConfigurationManager.ConnectionStrings["myConnString"].ConnectionString;
           }
       }
       /// <summary>
       /// 执行sql或存储过程返回指定名称的datatable对象
       /// </summary>
       /// <param name="sql">"select * from T_..."</param>
       /// <param name="paras">sql或存储过程的参数</param>
       /// <param name="tbName">返回的datatable名称</param>
       /// <param name="type">命令类型</param>
       /// <returns></returns>
       public DataTable ExecuteSqlReturnTable(string sql, SqlParameter[] paras,string  tbName, CommandType type=CommandType.Text )
       {
           DataTable table; 
           SqlConnection conn = new SqlConnection(ConnectionString);
           SqlCommand cmd = conn.CreateCommand();
           cmd.CommandText = sql;
           if (paras != null && paras.Length > 0)
           {
               foreach (SqlParameter p in paras)
               {
                   cmd.Parameters.Add(p);
               }
           }
           cmd.CommandType = type;
           SqlDataAdapter sda = new SqlDataAdapter(cmd);

           if (tbName != null)
           {
               table = new DataTable(tbName);
           }
           else {
               table = new DataTable();
           }

           sda.Fill(table);

           return table;
       }

       /// <summary>
       /// 执行非查询的sql或存储过程
       /// </summary>
       /// <param name="sql">sql语句或存储过程</param>
       /// <param name="paras">执行命令所需的参数</param>
       /// <param name="type">命令类型,默认是text</param>
       /// <returns>表示执行是否成功</returns>
       public bool ExecuteNonQuery(string sql,SqlParameter[] paras,CommandType type=CommandType.Text)
       {
           bool result = false;

           SqlConnection conn = new SqlConnection(ConnectionString);

           SqlCommand cmd = new SqlCommand(sql, conn);
           cmd.CommandType = type;

           if (paras != null && paras.Length > 0)
           {
               foreach (SqlParameter p in paras)
               {
                   cmd.Parameters.Add(p);
               }
           }

           conn.Open();
           if (cmd.ExecuteNonQuery() > 0)
           {
               result = true;
           }

           return result;
       }

    }


1.ConfigurationManager类,这是一个static类,提供对客户端应用程序配置文件的访问,其Static属性ConnectionStrings用来获取当前应用程序默认配置的连接字符串;

2.ExecuteSqlReturnTable函数,封装的第一个函数,用来执行存储过程或sql语句并返回一个Datatable对象;

3.ExecuteNonQuery函数,用来执行非查询的数据操作,如插入、修改和删除,返回一个bool的值类型表示操作是否成功。

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值