ADO.NET学习笔记(1)
ADO.Net是.Net框架中为数据库的访问而封装的一个库。通过这个库我们可以简单便捷的访问数据库,并对数据库进行一些增删改查的操作,目前ADO.Net支持四种主流的数据库,分别是SQL、OLE DB、ODBC、Oracle,因为它的存在使得程序员不再需要了解数据库的一些API就可以对数据库进行存取。而每一种数据库,都被封装为ADO的一个对象,并且将大部分的功能都封装在相应的对象中,可以这样理解,如果把这四种数据库比作中行、工行、建行、农行,他们的功能大致相同,都是对“数据”这种货币的存取。但是由于体制的不同,所以流程也不一样,但现在ADO如同支付宝,给我们提供了一个更加直观便捷的方式去对货币进行存取的操作,而不需要考虑你所使用的是哪一种银行卡。下边以支付宝的使用来讲ADO的使用过程。
情景:小明带着女朋友逛街,购物时选择使用支付宝支付。
1)选择支付方式—通过Connection对象建立与特定数据库的连接
2)扫一扫—通过Command对象对数据源执行命令
3)余额是否够支付—通过DataReader对象从数据源中读取只进且只读的数据流
4)付款后支付宝消费通知—通过DataAdpter对象对DataSet数据集进行更新
第一步选择支付方式,很好理解,就是告诉支付宝你要选择用那种银行卡进行支付,而在程序中就是创建Connection对象,访问不同的数据源(即不同种类的数据库)应该选择相应的Connection对象,比如访问SQL,通过SqlConnection对象,访问OLE DB则选择OleDbConnection对象,访问ODBC,选择OdbcConnection对象,访问Oracle,选择OracleConnection对象。这里我们以SQL为数据源。
一定要记得每次Open()后要Close()连接,你想啊, 你吃着火锅唱着歌,回到家一看,银行卡被刷!爆!了!多可怕。
准备付款,选择了扫一扫店家的二维码想店家转账。而在ADO中,当我们建立了连接以后,如果我们要对数据进行操作,就要告诉程序,是读取数据还是存入数据,在这里我们使用Command对象。
疯狂消费时....
String commandtext = “买买买”;//当然这里是符合规范的具体的SQL命令,而不是买买买
SqlCommand command = new SqlCommand(commandtext,SQL);//指定SQL命令和连接(潜台词:这张卡,随便刷!)
MessageBox.Show("准备付账");
小明和他的女朋友确定好了要买的东西,准备支付,但支付宝会在支付前提示当前银行卡余额是否足够,在ADO中,我们建立了连接通道,确定了操作,现在要获取数据了,我们使用Command对象的ExecutedReader() 方法 获取 数据,然后用DataReader对象来承载,最后,可以使用DataReader对象的Read()方法来表示是否读取到下一行数据。
付账时...
SqlDataReader dr= new SqlDataReader=command.ExecutedReader();
while(dr.Read())
{
MessageBox.Show("尊敬的客户,您还可以支撑此次消费");
}
最后一步的DataSet对象下次再讲。
ps:好吧,其实这次的随笔写的好差劲,比喻很不恰当,是我对ADO的理解还不够深刻,以后要重新写一遍。大家就当个小故事看吧。
ADO.NET学习笔记(1)的更多相关文章
- ADO.NET 学习笔记 入门教程
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=57&page=1&extra=#pid63 这是本人在 ...
- C#-ado.net学习笔记-会有更新
ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...
- Sql Ado.net 学习笔记之连接字符串
https://www.cnblogs.com/heng95/p/5902019.html 连接字符串 SQL Client .net数据提供程序在连接到数据库时极其灵活,它提供了多种用以生成连接字符 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- ADO学习笔记之注入漏洞与参数化查询
ADO学习笔记之注入漏洞与参数化查询 作为新手,在学习ADO程序时,使用 sql 语言查询数据时,很容易写类似如下代码: using (SqlConnection con = new SqlConne ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- CUBRID学习笔记 3 net连接数据库并使用cubrid教程示例
接上文 数据库安装好后,也可以测试语句了. 下面我们用c#写一个控制台程序,连接数据库,并读取数据. 一 下载驱动 net版的下 CUBRID ADO.NET Data Provider 9.3.0 ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
随机推荐
- Excel VBA ——如何导出数据到excel表格
sub OutPut() Dim FileTitle, MyPath, MyFullName As String Application.ScreenUpdating = false '关闭表格公式的 ...
- centos7下Etcd3集群搭建
一.环境介绍 etcd主要功能是分布式的存储键值,优点不多说了,分布是集群,自动选举等等,自行百度,主要说下配置方法,折腾了几天,终于优点眉目了,记录下操作方法,本文参考了如下链接 https://w ...
- AD16PCB如何快速删除走线
工具(Tools)取消布线(Un_Route)全部(AII) ad pcb画图,如果想整体去掉一条线,只要是连接在一起的,不管在哪一层,都可以采取如下方法:1.PCB画面下,按组合键Ctrl+H,会出 ...
- Struts2源码解析2
看了前面一节对Struts2各个模块运行有了大概了解,也对调用的函数有了一定的了解,本节希望打断点跑一个Struts2例子! 还是放在struts2结构图: 一:项目启动后解析web.xml文件,会解 ...
- Git实际操作
1.基本操作 git init 初始化仓库 git status 查看仓库状态 git add XXX.XX 向暂存区中添加文件XXX.XX git commit 保存仓库的历史记录 git log ...
- [原创]自定义参数静默方式安装JDK1.8
摘要:当Java桌面程序开发完成做产品的时候,面对未知的安装环境,通常是编写一些预安装检测脚本/程序,让程序傻瓜化安装以便减少分发出去的产品带来 的未知工作量(安装答疑,操作系统问题引起安装失败等), ...
- windows server 2012 远程桌面不好使
下面的文章里讲的比较详细 http://www.hfkehu.cn/thread-4382-1-1.html 我遇到的问题是第一种,因为是刚装的机器,刚连上网时,选择如下设置时,因为鼠标一点别的地方, ...
- angular使用sass的scss语法
一.现象 为了简写样式 二.解决 1.安装sass ,利用npm 安装(npm工具如果没有,请先自行安装好) (1).npm install node-sass --save-dev (2).npm ...
- dskinlite自适应dpi
调试了好久,mfc CDialog终于搞定,付费支持,qq: 80101277 效果图:
- Pytorch之训练器设置
Pytorch之训练器设置 引言 深度学习训练的时候有很多技巧, 但是实际用起来效果如何, 还是得亲自尝试. 这里记录了一些个人尝试不同技巧的代码. tensorboardX 说起tensorflow ...