数据库底层—访问操作
数据访问代码是最底层的代码,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;
- OSChina底层数据库操作的类(QueryHelper)源码
- c# 数据库访问静态类 支持多条SQL语句事务操作
- .net core下配置访问数据库操作
- 命令行访问操作 Mysql 数据库
- SpringBoot-创建RESTful风格的 http接口访问jpa 来操作数据库
- 利用hbase api在本地访问并操作服务器的hbase数据库
- XE5 ANDROID通过webservice访问操作MSSQL数据库
- java中访问数据库操作
- jdbc访问数据库无痕操作
- Hibernate底层数据库操作函数BaseDao+具体实例
- java-jdbc访问数据库,原生操作数据库
- OSChina底层数据库操作的类(QueryHelper)源码
- 作用JavaScript访问和操作数据库
- thinkphp底层调用PDO访问数据库时报错
- JDBC访问数据库的典型操作步骤
- MongoDB 数据库操作(九)-访问控制
- php访问数据库的基本操作
- XE5 ANDROID通过webservice访问操作MSSQL数据库
- 多用户或并发数据库访问或操作的问题
- 关于HSQLDB访问已有数据库文件的操作说明