您的位置:首页 > 数据库

数据库底层—访问操作

2018-10-31 09:30 190 查看

        数据访问代码是最底层的代码,Linq也是基于基本的数据库查询的基础上进行编写,EF框架也是,所以了解底层代码对我们开发有一个很客观的帮助,如果哪天没有网,没有框架一样可以进行开发数据访问,接下来就介绍几种方法。

       第一个是数据阅读器:简单的了解一下什么是数据阅读器,通俗的说 数据阅读器是 只读 只取 的一个操作,返回的结果如果读到数据就返回true 如果没有访问到数据就返回  false,通过Read()的方法进行读取。简单介绍一下代码

      

/// <summary>
/// 数据阅读器
/// </summary>
/// <param name="constr">连接数据库字符串</param>
/// <param name="cmdstr">操作数据库命令</param>
/// <param name="type">命令字符类型</param>
/// <param name="ps">参数</param>
/// <returns>返回阅读到的数据</returns>
public static SqlDataReader ExecuteReader(string constr, string cmdstr, CommandType type, params SqlParameter[] ps)
{

    //通过方法里传过来的 constr 数据库连接字符串 连接对应的数据库 
    SqlConnection conn = new SqlConnection(constr);

 

    //做完连接下一步就是: 打开数据库连接
    conn.Open();

    

    //数据库操作命令两个参数代表 cmdstr是commandstring的简写,意思就是操作数据库命令字符串,

    //conn就是我们的连接数据库的操作,表示要连接哪个数据库

    SqlCommand cmd = new SqlCommand(cmdstr, conn);

    

    //声明一下操作数据库的类型是什么,这里可是是Text 形式,也可以是 存储过程 类型

    cmd.CommandType = type;

    //判断一下有没有参数,如果参数就给添加

    if (ps.Length > 0)
    {
      cmd.Parameters.AddRange(ps);
    }

    //数据库的操作状态,因为DataReader是连接式访问数据库,所以必须全程打开数据库连接

    //连接状态等查询完成之后在关闭

    SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

    //返回查询 dr 的结果

    return dr;
}

  还有一种断开式访问操作就是我们数据库里的DataSet数据集 代码如下:

/// <summary>
/// 数据集
/// </summary>
/// <param name="constr">连接数据库字符串</param>
/// <param name="cmdstr">操作数据库命令</param>
/// <param name="type">命令字符类型</param>
/// <param name="ps">参数</param>
/// <returns>临时表集合</returns>
public static DataSet ExecuteDataSet(string constr, string cmdstr,CommandType type, params SqlParameter[] ps)
{


    SqlConnection conn = new SqlConnection(constr);

 

    //跟上面不同的就是这里不是在是连接命名

    //用数据适配器是适配 最后的作用就是填充数据集
    SqlDataAdapter sda = new SqlDataAdapter(cmdstr, conn);

 

 

    sda.SelectCommand.CommandType=type;

 

    if (ps.Length > 0)
    {
      sda.SelectCommand.Parameters.AddRange(ps);
    }

 

    //前面的跟上面的注释差不多所以就不一个个去写了

    //不一样的就是返回类型 和 细节操作, 

    //创建一个空的数据集

    DataSet ds = new DataSet();

 

 

    //然后用数据适配器是填充一下数据集

    sda.Fill(ds);

 

    //最后返回 ds 数据集合

    return ds;


}

  声明一下如果在cs文件中去写数据访问代码需要加入命名空间 using System.Data  和 using System.Data..SqlClient;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: