.Net 入门之SqlHelp

 我们写Sqlhelp帮助类之前,我们现了解下ado.net的五大对象

Connection :

建立与特定数据源的连接。 所有 Connection 对象的基类均为 DbConnection 类,是所有数据库操作的基础,在对数据库操作之前要先建立数据连接。

Command

对象定义了将对数据源执行的指定命令。 表示要对数据库执行的一个 Transact-SQL 语句或存储过程。所有 Command 对象的基类均为 DbCommand 类。

DataReader

从数据源中读取只进且只读的数据流。 所有 DataReader 对象的基类均为 DbDataReader 类, DataReader对象只允许以只读顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看模式,同时DataReader对象还是一种非常节省资源的数据对象。

DataAdapter

DataAdapter对象充当DataSet和数据源之间用于检索和保存数据的桥梁。DataAdapter类代表用于填充DataSet以及更新数据源的一组数据库命令和一个数据库连接。表示一组 SQL 命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。

DataSet

驻留于内存的数据集,可以看做是内存中的数据库,内部用XML来描述数据。 也因此可以说DataSet是数据表的集合,它可以包含任意多个数据表(DataTable), 独立于各种数据源。

   前面说了这么多,现在我们来写Sqlhelp吧!!

首先我们添加一个配置文件(App.config),然后把你要访问的数据库服务名,用户名,密码和数据库名称 添加到配置文件中

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="sqlcon" connectionString="server=.;uid=sa;pwd=sa;database=OA"/>
  </connectionStrings>
</configuration>
View Code

现在配置文件写好了,我们开始操作吧

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

namespace SqlHelp
{
    /// <summary>
    /// 数据库帮助类
    /// </summary>
    public static class Sqlcommand
    {
        private static string sqlcon = ConfigurationManager.ConnectionStrings["sqlcon"].ToString();
        #region 获取所有数据
        public static DataTable ExecuteTable(string text,CommandType type, SqlParameter[]pms) {
            DataTable dt = new DataTable();
            using (SqlConnection con=new SqlConnection(sqlcon))
            {
                con.Open();
                using (SqlDataAdapter adapter=new SqlDataAdapter(text,con))
                {
                    adapter.SelectCommand.CommandType = type;
                    if (pms!=null)
                    {
                        adapter.SelectCommand.Parameters.AddRange(pms);
                        adapter.Fill(dt);
                       
                    }
                    return dt;
                }
            }
           
        }
        #endregion
        #region 增加,删除修改,返回所影响的行数
        public static int ExecuteNonQuery(string text,CommandType type, SqlParameter[]pms) {
            using (SqlConnection con=new SqlConnection(sqlcon))
            {
                con.Open();
                using (SqlCommand cmd=new SqlCommand(text,con))
                {
                    cmd.CommandType = type;
                    if (pms!=null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        #endregion
        #region ExecuteReader单项只读数据
        public static SqlDataReader ExecuteReader(string text, CommandType type, SqlParameter[] pms) {
            using (SqlConnection con=new SqlConnection(sqlcon))
            {
                con.Open();
                using (SqlCommand cmd=new SqlCommand(text,con))
                {
                    cmd.CommandType = type;
                    if (pms!=null)
                    {
                        cmd.Parameters.AddRange(pms);

                    }
                    SqlDataReader reader= cmd.ExecuteReader();
                    return reader;
                }
            }
        }
        #endregion
    }
}

其实现在有很多流行的ORM框架像 EF,Dapper,NHibernate 等,其实他们底层就是拿Ado.Net做的,所以相对来说他们并没有我们自己写的灵活(真香警告)。。。

第一篇博客,喜欢点赞,本人菜鸟,有无不足之处还请指出。。。。

 

转载于:https://www.cnblogs.com/kriby/p/11135360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值