ADO.NET:
1.SYSTEM.DATA 命名空间下类的集合的统称,用于操作 连接数据库的 它提供了统一的编程接口,可以操作不同的数据库
数据库实例:默认实例(MSSQLSEVER)和命名实例(MYSQLSERVER)如果不写实例名称就会去连接默认实例,如果要连接命名实例,就必须写上命名实例的名称 用于区分同一台电脑上的不同数据库软件
端口:每一种对外提供的服务都提供端口web:80 sqlserver:1433
Server=127.0.0.1 本机
Connection 连接通道
a.目的
b.账户密码
c.门牌号
string connSTR="Server=127.0.0.1;DaTaBaSe=ItCast;Uid=sa;Pwd=12345"
string connSTR="Server=.;DaTaBaSe=ItCast;Uid=sa;Pwd=12345"
//SqlConnectionStringBuilder scsb=new SqlConnectionStringBuilder ();
//scsb.DataSource=".";//指定服务器地址
//scsb.IntegratedSecurity=true;//使用windows身份验证
//scsb.InitialCatalog="Itcast";//指定要连接的数据库
string connStr="Data Source=.;Initial catalog=数据库名;integrated Security=true";
1)创建一个连接通道
SqlConnection conn=new SqlConnectin ();
//指定连接通道的连接字符串
conn.ConnectionString=connStr;//System.Data.SqlClient命名空间下
2)准备命令语句其实就是在数据库字段执行的sql命令
string sql="insert into class values(‘’,'')";
3)创建1个命令对象 用来执行命令
SqlCommand cmd=new SqlCommand ();
cmd.CommandText=sal;//指定对象的执行的sql命令
cmd.Connection=conn;//指定对象的连接通道
//执行非查询的语句 增删改
conn.Open();
int res=cmd.ExecueNonQuery();
(不管是什么语句此处也可以使用cmd.ExecuteScalar()也是可以在数据库执行的,ExecuteNonQuery()方法可以返回执行完命令后受影响的行数,ExecuteScalar()返回的是结果集的首行首页,如果是空的结果集返回的是null)
//判断返回的行数用来判断执行是否成功
if(res>0)
{
mbox("执行成功");
}
else
{
mbox("执行失败");
}
conn.Close();
Connection:
Connection应用程序与数据库之间的连接通道
SqlConnection连接通道会默认情况下使用连接池,连接池的作用就是当需要创建1个连接通道的时候会去这个连接池里面根据连接字符串找是不是有相同的连接对象,如果有则直接返回不会再去重新创建对象 如果没有则创建对象返回 当使用完这个对象后 会放回连接池
conn.State State 用来表示连接通道的状态
State.Close 相当于设置1个路障
conn.Dispose() 不是真正的释放资源,内部调用了close(),并清空了ConnectionString,其实是将对象放到连接池中,等到再次调用时就不用另外新建一个对象
连接其他服务器:1.关闭防火墙 2.TCP,IP协议要开启 3.代理服务要开启
连接字符串的语法如果错误,则在创建连接通道的时候就会报错,若语法没错而属性值错误,则在open时报异常
conn.StateChange事件,在连接通道的状态发生改变的时候被触发
清空连接池: SqlConnection.ClearAllPools();清空连接池里的所有的连接对象
SqlConnection.ClearPool(conn);清空指定的连接对象
一般情况下读建议使用连接池
Command:
1)步骤
1.创建连接通道
2.准备SQL语句 若有多行命令用;隔开
3.创建命令对象
两种创建方式:SqlCommand cmd=new SqlCommand(sql,conn);
SqlCommand cmd=conn.CreatCommand();
4.指定这个命令对象要执行的sql命令和连接通道
5.打开连接
6.执行非查询的语句命令 增删改 返回的是执行完这个命令后受影响的行数
(凡是遇到关键字"FROM"附近有语法错误的都是SQL语句写错了)
7.判断结果
8.关闭通道
2)事件
StatementCompleted事件是每执行完1条语句就触发一次 e.RecordCount 用来返回完成的语句受影响的行数
3)ExecuteScalar()
用来返回结果集的第1行的第1列,如果结果集是空的,那么返回的就是null
object obj=cmd.ExecuteScalar();
ExectueReader方法:
由cmd调用 返回1个SqlDataReader对象 摩托车
SqlDataReader reader=cmd.ExecuteReader();//cmd.ExecuteReader()执行了查询语句,只不过这个查询语句返回的结果集是存在数据库服务端的
while(reader.Read()) //reader.Read()返回布尔类型
{
Console.WriteLine(reader[这里可以传入int类型或者列名别名])//reader[]索引器里面的int string都是针对结果集,如果结果集没有则报错,每调用一次方法指针向后移一位,然后尝试读取数据,如果有数据就返回TRUE,并将当前行的数据封装在reader对象中,通过索引器的方式访问,如果没有读取到数据则返回false
int i=reader.GetOrdinal("id")可以取得id列的下标针对结果集的比较少用
DateTime dt= Convert.ToDateTime(reader["AddTime"]);将结果集的结果转换为指定类型
reader.GetInt32() 更快捷的将指定列转换为指定类型各种Get方法
}
SqlDataReader 是一个在线读取的功能,读完前不能关闭通道,是1个只进的读取器,逐行只进读取,如果遇到null(数据库中的null为不知道)那么打印空字符串
BindingSource bs=new BindingSource (); 声明BindingSource 对象
bs.DataSource=reader; 设置bs对象的数据源属性
dgvData.DataSource=bs;再将BS对象赋给dgvData的DataSource属性
reader.Close();//读取器也是要关闭的,而且是在连接通道关闭之前关闭
conn.close();
多个reader的方法
reader.NextResult();//读取下个结果集
while(reader.Read())
{
cw("reader["列名"]");
}

【资料整理】ADO.NET的更多相关文章

  1. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  2. zz 圣诞丨太阁所有的免费算法视频资料整理

    首发于 太阁实验室 关注专栏   写文章     圣诞丨太阁所有的免费算法视频资料整理 Ray Cao· 12 小时前 感谢大家一年以来对太阁实验室的支持,我们特地整理了在过去一年中我们所有的原创算法 ...

  3. iOS 学习资料整理

    iOS学习资料整理 https://github.com/NunchakusHuang/trip-to-iOS 很好的个人博客 http://www.cnblogs.com/ygm900/ 开发笔记 ...

  4. H.264的一些资料整理

    本文转载自 http://blog.csdn.net/ljzcom/article/details/7258978, 如有需要,请移步查看. Technorati 标签: H.264 资料整理 --- ...

  5. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  6. 3分钟带你了解PowerShell发展历程——PowerShell各版本资料整理

    本文带你了解PowerShell发展历程,顺便整理了一点资料,方便大家查询. Windows PowerShell® 是基于任务的命令行管理程序和脚本语言,专为进行系统管理而设计. 在 .NET Fr ...

  7. (转载)2016 CCF大数据与计算智能大赛 开源资料整理

    本文转载自:http://blog.sina.com.cn/s/blog_5399b8660102wxks.html 2016 CCF 大数据与计算智能大赛已经落下帷幕,11个赛题由众多大神包揽奖项, ...

  8. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

  9. Niagara帮助文档资料整理

    1.任何软件额发布都会有说明文档,有的不会附具体实践的操作步骤,存在不懂得问题一般可以通过查看榜文文档解决问题 一些软件的帮助文档是一PDF格式存储在软件安装的目录下面,如Niagar workben ...

  10. 对word2vec的理解及资料整理

    对word2vec的理解及资料整理 无他,在网上看到好多对word2vec的介绍,当然也有写的比较认真的,但是自己学习过程中还是看了好多才明白,这里按照自己整理梳理一下资料,形成提纲以便学习. 介绍较 ...

随机推荐

  1. eclipse中jdk源码调试步骤

    分析源码是学习一项技术内幕最有效的手段.由于正常的引入JAr包源码没法进行对源码打断点,想要深入了解源码不方便.下面就开始介绍源码调试的步骤. 1.在eclipse新建一个JAVA项目compare_ ...

  2. 20165304实验一java开发环境熟悉

    实验报告封面 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:李松杨 学号:20165304 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:13:45 - 15:25 实 ...

  3. 字符串md5之后转成int类型, 方便数据库索引

    function hashStringToInt($string){ $stringHash = substr(md5($string), 0, 8); return base_convert($st ...

  4. PHP中汉字截取

    $len = 19; $text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; echo strlen($text)<=$len ? $text ...

  5. WPF ListView即时更新

    1.ListView 的 ItemSource 使用 BindingList < T >: 注:由于 List < T > 没有实现 INotifyPropertyChange ...

  6. python 阿狸的进阶之路(6)

    常用模块 json # 序列化 #将内存的数据存到硬盘中,中间的格式,可以被多种语言识别,跨平台交互数据 #json 可以将字典之类的数据类型存到字典中 import json dic = {&quo ...

  7. linux 不同服务器之间复制文件

    ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹tempA拷贝到 目标服务器10.127 ...

  8. Xe7 System.Json解析数据格式

    一.Demo一 解析嵌套数组 Json数据 {"code":1,"msg":"","data":{"Grade ...

  9. 学习笔记2:postman 的基本使用

    1.get 请求 请求接口:http://xx.xx.xx.xx/api/user/stu_info 请求参数:stu_name 请求参数是放在请求 URL 里的,点击 Params添加参数,key ...

  10. 使用DDOS deflate抵御少量DDOS攻击

    DDoS-Deflate是一款非常小巧的防御和减轻DDoS攻击的工具,它可以通过监测netstat来跟踪来创建大量互联网连接的IP地址信息,通过APF或IPTABLES禁止或阻档这些非常IP地址. 工 ...