黑马程序员-SqlHelper.cs

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

我们经常通过ADO.NET操作数据库的时候,特别是三层架构DAL层里面必须得加入SqlHelper这个类。我本机电脑上的数据库为SQLExpress版本,至于到时候具体什么版本到时候修改一下就可以,以下以建立这个类的步骤:

1)添加配置文件,并在<configuration>下添加节点:
<connectionStrings>
   <add name="conStr" connectionString="server=.\SQLExpress;database=Net228;Integrated Security=true;"/>
</connectionStrings>

2)

2.1导入System.Configuration 引用
 2.2添加命名空间 System.Configuration;

3)SqlHelper.cs代码如下:

class SqlHelper
    {
        private static string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

        /// <summary>
        /// 增删改
        /// </summary>
        /// <param name="sqlStr">查询语句</param>
        /// <param name="paras">参数数组</param>
        /// <returns>返回受影响行数</returns>
       public  static int ExecuteNoQuery(string sqlStr, params SqlParameter[] paras)
        {
            using (SqlConnection conn = new SqlConnection(conStr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sqlStr, conn))
                {
                    cmd.Parameters.AddRange(paras);
                    return cmd.ExecuteNonQuery();
                }
            }
        }

        /// <summary>
        /// 返回第一行第一列数据
        /// </summary>
        /// <param name="sqlStr">查询语句</param>
        /// <param name="paras">参数数组</param>
        /// <returns>返回查询结果的第一行第一列数据</returns>
       public  static object ExecuteScalar(string sqlStr, params SqlParameter[] paras)
        {
            using (SqlConnection conn = new SqlConnection(conStr))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sqlStr, conn))
                {
                    cmd.Parameters.AddRange(paras);
                    return cmd.ExecuteScalar();
                }
            }
        }

       /// <summary>
       /// 获取数据表
       /// </summary>
       /// <param name="sqlStr">查询语句</param>
       /// <param name="paras">参数数组</param>
       /// <returns>结果集</returns>
       public static DataTable GetDataTable(string sqlStr, params SqlParameter[] paras)
       {
           using (SqlConnection conn = new SqlConnection(conStr))
           {
               conn.Open();
               using (SqlCommand cmd = new SqlCommand(sqlStr, conn))
               {
                   cmd.Parameters.AddRange(paras);
                   SqlDataAdapter da = new SqlDataAdapter(cmd);
                   DataTable dt = new DataTable();
                   da.Fill(dt);
                   return dt;
               }
           }
       }

    }
接下来假设要删除数据库中表Book中的Id号为5的数据,可以如下调用SqlHelper.cs的ExecuteNoQuery方法:

            string sqlStr = "delete from Person where Id=@id";
            SqlParameter sp = new SqlParameter("@id", id);
            sp.Value = 3;
            int res = SqlHelper.ExecuteNoQuery(sqlStr, sp);
            if (res > 0)
            {
                Console.WriteLine("删除成功!");
            }





---------------------- Windows Phone 7手机开发ASP.Net培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值