当前位置: 移动技术网 > IT编程>数据库>MSSQL > 数据库底层—访问操作

数据库底层—访问操作

2018年10月31日  | 移动技术网IT编程  | 我要评论

dede教程,党课材料,邵东夜总会发生火灾

        数据访问代码是最底层的代码,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;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网