一、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#的基础回顾就先到前面哪里,这 ...
随机推荐
-
MongoDB学习笔记~数据结构与实体对象不一致时,它会怎么样?
回到目录
-
html页面的CSS、DIV命名规则
CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...
-
python常用的内置库
标准库: import os os.getcwd() //返回当前工作路径 os.chdir('/server/accesslogs') # Change current working dir ...
-
[题解]codevs1001 舒适的路线
h3 { font-family: Consolas; color: #339966 } .math { font-family: Consolas; color: gray } 题目描述 Descr ...
-
eval(phpcode) 字符当代码执行
eval(phpcode)eval() 函数把字符串按照 PHP 代码来计算.相当于在字符串两边分别加上PHP语 法标签 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串中 ...
-
1、C# MVC学习之NVelocity基本使用
小白一个,刚刚开始学,大神不要笑话...... NVelocity是一个很容易上手的框架,从它开始学习,可以循序渐进 首先,创建空web应用程序,新建一般处理程序 Login2.ashx 然后,引入N ...
-
[IB]PeopleSoft异步详细信息中状态“已完成”但订阅合同状态“新建”问题
最近遇到一个IB异步程序状态不一致问题,异步详细信息中上面的状态是“DONE”但是订阅合同中还是“新建”状态.在域状态中清除域状态也不管用. 重启app server也不好使.最后执行了appmsgp ...
-
&#127827;rem单位在Chrome中字体大小异常 &#127827;
这是一个很少出现,而一旦出现就让人头疼难当的bug.....网上资料比较少. 解决:https://oss.so/article/87 即为html标签设置-webkit-text-size-adju ...
-
一个小时就能理解Java的NIO必须掌握这三大要素!
同步与阻塞 同步和异步是针对应用程序和内核的交互而言的. 同步:执行一个操作之后,进程触发IO操作并等待(阻塞)或者轮询的去查看IO的操作(非阻塞)是否完成,等待结果,然后才继续执行后续的操作. 异步 ...
-
013 BIO、NIO、AIO的区别
作者:nnngu GitHub:https://github.com/nnngu 博客园:http://www.cnblogs.com/nnngu 简书:https://www.jianshu.com ...