ADO.NET数据访问方式:SqlDataReader
SqlDataReader读取数据方法的封装: SqlHelper.ExecuteRead(string sql,params SqlParameter[] a,…)
class SqlHelper
{
SqlDataReader SqlDataReader ExecuteRead(string s,params SqlParameter[] ps)
{
string str = Configuration.ConnectionStrings[“str”].ConnectionString
using(SqlConnection conn = new SqlConnection(connStr))
{
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach(SqlParaneter param in parameters)
{
cmd.Parameters.Add(param);
}
return cmd.ExucuteReader();
}
}
}
}
- SqlCommand(System.Data.SqlClient名称空间)
- SqlCommand表示向服务器提交的一个命令(SQL语句等)
- .CommandText属性为要执行的SQL语句
- .ExecuteNonQuery()方法执行一个非查询语句(update/insert/delete等)/返回值为执行的影响行数
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = “insert t_users(username,password)values(‘admin’,’888888’)”;
cmd.ExecuteNonQuery();
}
- .ExecuteReader()方法: 将.CommandText发送到.Connection(SqlConnection类实例)并生成一个SqlDataReader
- .ExecuteScalar()方法用于执行查询(返回结果集第一行第一列数据)/返回值object类型
例: 获得自动增长字段主键值(() output inserted.*(主键值) values())
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = “insert t_users(name,age) output inserted.id values(‘lily’,21)”;
cmd.ExecuteScalar();
}
- SqlDataReader
- SqlDataReader: 提供一种从 SQL Server 数据库读取行的只进流的方式/该类不能被继承
- .Read()方法: 使SqlDataReader前进到下一条记录/返回布尔值
- .GetOrdinal()方法: 在给定列名称的情况下获取列序号
- .GetString()方法: 获取指定列的字符串形式的值/列序号从0开始
例: ①按照用户提供的用户名/密码插入数据库 ②用户名登陆练习 ③输出数据库数据条目数 ④输出员工表姓名列abcdefghijk…
- 注入漏洞与参数化查询
- SqlCommand.Parameters: SqlParameterCollection类/表示与SqlCommand相关联的参数的集合
- SqlParameter: 表示SqlCommand的参数
例: 注入漏洞与参数化查询
cmd.CommandText = "select count(*) from t_employee where name=@userName and password=@passWord+";
cmd.Parameters.Add(new SqlParameter("userName",userName));
cmd.Parameters.Add(new SqlParameter(“passWord”,passWord));
- 案例
- 例: 用户界面进行登陆判断 输错三次禁止登陆 用数据库记录ErrorTimes
- 连接字符串写到配置文件中
- 例: 文件导入导出
- 数据导入: 从文本文件导入用户信息
- 数据导出: 将用户信息导出到文本文件
- tab键代码缩进
转载于:https://www.cnblogs.com/lesvies/archive/2011/09/18/2180538.html
ADO.NET数据访问方式:SqlDataReader相关推荐
- Spring.NET 中的 ADO.NET 数据访问的示例
Spring.NET 1.3.1 中提供了一个使用 AdoTemplate 的完整示例,包括使用泛型和使用非泛型技术进行数据访问,这个示例位于下载的压缩包中\Spring.NET-1.3.1\Spri ...
- ADO.net数据访问
需要引用对应命名空间:System.Data.SqlClient; SqlConnection:连接对象 SqlCommand:命令对象 SqlDataReader:读取器对象 //造连接字符串 st ...
- VB.NET学习笔记:ADO.NET操作ACCESS数据库——ADO.NET数据访问接口
一.ADO.NET概述 Ado.net基于XML和离线计算模型. ADO.net的两个核心组件:.Net数据提供程序.DataSet. .net数据提供程序用来与数据库的连接,如SQLServer.n ...
- ADO.NET数据访问模板整理
1 /// <summary> 2 /// 数据访问类:hi_test 3 /// </summary> 4 public partial class TestDA 5 { 6 ...
- .NET 数据访问架构指南(转)
Alex Mackman, Chris Brooks, Steve Busby, 和 Ed Jezierski 微软公司 2001年10月 概述:本文提供了在多层.NET应用程序中实施基于ADO.NE ...
- [转自microsoft]NET 数据访问架构指南,-数据库连接的测试.即监视链接池化
NET 数据访问架构指南 Alex Mackman, Chris Brooks, Steve Busby, 和 Ed Jezierski 微软公司 2001年10月 概述:本文提供了在多层.NET应用 ...
- .NET 数据访问架构指南
Alex Mackman, Chris Brooks, Steve Busby, 和 Ed Jezierski 微软公司 2001年10月 概述:本文提供了在多层.NET应用程序中实施基于ADO.NE ...
- [转].NET 数据访问架构指南
Microsoft 目录 ADO.NET简介 管理数据库链接 错误处理 性能 通过防火墙建立链接 处理 BLOBs 事务处理 数据分页 简介 如果你在为.NET应用程序设计数据访问层,那么就应该把 ...
- NET 数据访问架构指南
发布者:[本站编辑] 来源:[] 浏览:[<script src="../../ArticleInfo.asp?action=viewtotal&ArticleId=82 ...
- ClownFish:比手写代码还快的通用数据访问层
最近花了二个月的业余时间重写了我以前的通用数据访问层, 由于是重写,所以我给这个项目取了个新名字:ClownFish 如果需要了解ClownFish的使用方法,请点击ClownFish 使用说明 Cl ...
最新文章
- MYSQL explain详解[转载]
- 小蚂蚁学习mysql性能优化(4)--SQL以及索引优化--具体一些优化方法
- 使用PHP搞定支付宝、微信扫码支付
- 【SVM】A Practical Guide to Support Vector Classication
- IntelliJ IDEA的使用操作链接
- Java的getcelltype用法_java getCellType的替代方法
- 均值滤波器类型_均值滤波适用于处理什么样的噪声
- 2019/3/14 软工作业
- Python保留两位小数,并做四舍五入处理
- 腾讯实习生招聘失败经历分享
- python编写直角三角形边长公式_python 打印直角三角形,等边三角形,菱形,正方形的代码...
- 俄勒冈大学计算机科学专业,美国俄勒冈大学计算机与信息科学博士后
- 微信小程序获取二维码scene报错40129
- 小程序全局拖动悬浮球插件
- 集线器,路由器,交换机之间的区别
- 【JAVA】学习java 基础知识
- NAND Flash SSD 是如何生产出来的?
- 钉钉为什么被并入阿里云?
- CiteSpace系列——如何去掉图中文字的底纹?
- 解决华为SecoClient在win10,win11环境下显示返回状态码超时问题
热门文章
- 【线段树入门题目集】
- c语言串口接收的字符转int,从串口发送和接收int值
- mac sublime text 3 列操作,替换相同内容, 用动态输入的方式
- NumPy库---数组的基本操作
- el图oracle,element-ui之el-image-viewer(图片查看器)
- mysql乐观锁和悲观锁的区别_mysql悲观锁和乐观锁的区别
- swoole 连接mysql_Swoole 优雅的实现 MySQL 连接池
- centos7下安装pycharm
- CSDN-markdown编辑器语法说明
- JAVA日常优化---Guava缓存玩耍异步刷新