ado.net 自己编写的SqlHelper类

本文介绍如何在ADO.NET中自定义SqlHelper类,重点讨论在处理DataSet时的注意事项和编写技巧,适用于WPF应用开发。
摘要由CSDN通过智能技术生成

要注意DataSet的写法,有点麻烦


SqlHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace WPFDemo01
{
    class SqlHelper
    {
        //基础版SqlHelper
        注意,要用这行代码前提是将连接字符串配置在了app.config配置文件中
        //private static string connstr = ConfigurationManager.ConnectionStrings["linkDBStr"].ConnectionString;


        封装方法的原则:把不变的放到方法里,把变化的放到参数中。
        注意,命名虽然可以随便,但是要写好意思方便阅读
        执行Update,Delete,Insert语句
        //public static int ExecuteNonQuery(string sql)
        //{
        //    using (SqlConnection conn = new SqlConnection(connstr))
        //    {
        //        conn.Open();
        //        using (SqlCommand cmd = conn.CreateCommand())
        //        {
        //            cmd.CommandText = sql;
        //            return cmd.ExecuteNonQuery();
        //        }
        //    }
        //}


        返回第一行第一列
        //public static object ExecuteScalar(string sql)
        //{
        //    using (SqlConnection conn = new SqlConnection(connstr))
        //    {
        //        conn.Open();
        //        using (SqlCommand cmd = conn.CreateCommand())
        //        {
        //            cmd.CommandText = sql;
        //            return cmd.ExecuteScalar();
        //        }
        //    }
        //}


        //DataSet版本1
        返回一个DataSet,这里因为一般只会返回一个table,
        所以返回值改为datatable更为简便,
        以后根据需要看着改变
        注意:只用来执行查询结果比较少的sql
        //public static DataTable ExecuteDataTable(string sql)
        //{
        //    using (SqlConnection conn = new SqlConnection(connstr))
        //    {
        //        conn.Open();
        //        using (SqlCommand cmd = conn.CreateCommand())
        //        {
        //            cmd.CommandText = sql;
        //            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        //            DataSet dataset = new DataSet();
        //            adapter.Fill(dataset);//把adapter放入dataset中
        //            return dataset.Tables[0];
        //        }
        //    }
        //}











        //注意,要用这行代码前提是将连接字符串配置在了app.config配置文件中
        private static string connstr = ConfigurationManager.ConnectionStrings["linkDBStr"].ConnectionString;


        //封装方法的原则:把不变的放到方法里,把变化的放到参数中。
        //注意,命名虽然可以随便,但是要写好意思方便阅读
        //执行Update,Delete,Insert语句
        public static int ExecuteNonQuery(string sql,SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    //foreach (SqlParameter param in parameters)
                    //{
                    //    cmd.Parameters.Add(param);
                    //}
                    cmd.Parameters.AddRange(parameters);//实质和foreach是一样的
                    return cmd.ExecuteNonQuery();
                }
            }
        }


        //返回第一行第一列
        public static object ExecuteScalar(string sql,SqlParameter[] parameters)
        {
            using (SqlConnection con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值