Ado.NET基础必备
一、SqlConnection对象
第一次需要连接数据库时要和服务器握手,解析连接字符串,授权,约束的检查等等操作,而物理连接建立后,这些操作就不会去做了(默认使用了连接池技术)。
SqlConnection conn = new SqlConnection(connStr)
小技巧:测试数据库是否能被成功链接,可以新建一个xxx.UDL文件,打开后输入实例名和密码,即可测试。
二 、SqlCommand对象
2.1 SqlCommand常用属性
① CommandText 属性
T-SQL语句或者存储过程的名字。
② CommandType属性
表示CommandText属性种类。
常用值:Text(默认值,CommandText为T-SQL语句)
StoredProcedure (CommandText为存储过程的名字)
③ Parameters属性
是一个SqlParameterCollection对象,存储用到的SqlParameter。
常用方法:SqlCommand.Parameters.Add(p);添加一个参数,p为一个SqlParameter对象
SqlCommand.Parameters.Add(ps);添加一个参数,ps为一个SqlParameter数组
2.2 SqlCommand的三种execute方法
① SqlCommand.ExecuteNonQuery 方法
使用场景:update,insert,delete
返回值:受影响的行数,不是上边三种情况或者回滚时返回-1。
对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
② SqlCommand. ExecuteScalar 方法
使用场景:select
返回值:查询结果集的首行首列值,类型为object。结果集为空时返回null。
③ SqlCommand.ExecuteReader 方法
特点:在线的,读取过程必须和数据库保持连接
使用场景:select
返回值:SqlDataReader对象
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand com = new SqlCommand("select * from userinfo where id<@id", conn))
{
conn.Open();
SqlParameter par = new SqlParameter("@id", System.Data.SqlDbType.Int) { Value = };
com.Parameters.Add(par);
SqlDataReader reader = com.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["username"]);//数据库中列名
Console.WriteLine(reader[]);//1为索引
Console.WriteLine(reader.GetValue());//1为索引
}
reader.Close();//释放资源
Console.ReadKey();
}
}
三、SqlDataAdapter对象
特点:离线方式,读取整个结果集保存在内存,不需要一直连接数据库(自动打开和关闭数据库连接)
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlDataAdapter adpter = new SqlDataAdapter("select * from userinfo", conn);
DataTable dt = new DataTable();
//SqlDataAdapter内部获取数据是通过调用SqlDataReader来实现的
//执行Fill方法时,它会打开到数据库的SqlConnection, 创建或使用一个SqlCommand,使用SqlCommand.ExecuteReader()方法
//通过SqlDataReader从数据库读取数据, 结束行的读取之后, SqlDataReader和SqlConnection会被关闭.
adpter.Fill(dt);
for (int i = ; i < dt.Rows.Count; i++)
{
Console.WriteLine(dt.Rows[i]["username"]);
}
Console.ReadKey();
}
Ado.NET基础必备的更多相关文章
- ADO.NET基础必备之SqlCommand.Execute三方法
SqlCommand.ExecuteNonQuery 方法 对连接执行 Transact-SQL 语句并返回受影响的行数. ――语法: public override int ExecuteNon ...
- ADO.NET基础03
数据库和VS的连接,实现数据的同步,让用户的一切信息都可以在数据库中留下记录. ADO.NET基础 它是连接所有数据库的一种特殊的技术,提供对不同的数据库统一操作接口. 在VS中也可以添加数 ...
- .Net Core 系列:2、ADO.Net 基础
目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...
- 有关ADO.NET基础中的基础的熟悉过程
现在对于ADO.NET基础的理解与记忆并不严谨和完善 所以,只写一点关于自己的理解,嗯,一种去转换思维理解的方法吧,算是吧 希望各位前辈或者同学,积极指出其中的错误和偏差 个人对于刚接触的ADO.NE ...
- 如鹏网学习笔记(六)ADO.Net基础
ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...
- Linq基础必备
1.linq基础必备之对象初始化器和匿名类型因果分析 3. 一:对象初始化器 1.就是在new的时候给公共属性赋值的一种方式 2. 在没有初始化器之前的时候,我们是怎么初始化的呢??? 1. 构造 ...
- ADO.NET基础开发
ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写.ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供了一个面向对象的数据访问架构, ...
- python 之 Django框架(服务器程序和应用程序、基础必备三件套及相关配置)
第十二章 Django框架 12.1 服务器程序和应用程序 服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发, ...
- ADO.NET基础巩固-----连接类和非连接类
最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...
随机推荐
- SQL 对等发布
发布类型: 快照发布:发布服务器按预定的时间间隔向订阅服务器发送已发布数据的快照.事务发布:在订阅服务器收到已发布数据的初始快照后,发布服务器将事务流式传输到订阅服务器.对等发布:对等发布支持多主复制 ...
- 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- [SDOI2013] 直径
传送门:>HERE< 题意:给出一颗树,求出被所有的直径都经过的边的数量 解题思路: 先求出任意一条直径并记录节点. 然后依次枚举直径上的每一个节点,判断从当前节点延伸出去的非直径的一条路 ...
- Python 面试题_未完
基础部分 1. 为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python,Python这门 ...
- [国家集训队]排队 [cdq分治]
题面 洛谷 和动态逆序对那道题没有什么区别 把一个交换换成两个删除和两个插入 #include <cstdio> #include <cstdlib> #include < ...
- IT人员必须掌握的10项软技能
现代企业的IT部门员工在具备技术能力的同时,还需要掌握一些软技能.现在来看这些软技能其实并不是什么新鲜事物,只是IT人员所需的这些软技能的范围与数量正在不断增加着. IT人员需要具备哪些技术能力,要取 ...
- Android ListView item 点击事件失效问题的解决
关于ListView点击无效,item无法相应点击事件的问题,网上有很多, 大致可分为俩种情况, 一种是 item中存在 ImageButton 等可以点击的组件,这会抢先获得ListView的焦点. ...
- Codeforces Round #554 ( div.2 ) 总结
应该经常需要锻炼一下英语阅读理解能力和代码能力,所以以后还是需要多打打CF. 今天大概就是水一水找找感觉. A. Neko Finds Grapes $n$个箱子,$m$个钥匙 ($n,m \leq ...
- SNMP扫描
------------------------------------------------------------------grub引导密码:[root@localhost ~]# jm4pt ...
- 普及一个Linux的小技能~Ctrl+Z切换到后台运行
逆天Linux一直是自己摸索的,几年下来也小有心得,前不久PC也换成Ubuntu了,但毕竟不是专门搞运维的,有些知识还是有死角 这不,今天发现了个小技巧,来和大家分享一下: 比如运行一个交互式的程序: ...