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为数据源。

using System.Data.SqlClient;//添加引用
//先绑定银行卡 
String ConnectionString = "Data Source=服务器名;Initial Catalog=数据库名;User id=用户名;Pwd=密码";
SqlConnection SQL=new SqlConnection(ConnectionString); 、
//消费时,可以通过Open()方法来选择以这张SQL的银行卡来结算,消费结束后退出银行卡
SQL.Open();
Messagebox.Show("疯狂消费中"); 
SQL.Close();

一定要记得每次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)的更多相关文章

  1. ADO.NET 学习笔记 入门教程

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=57&page=1&extra=#pid63 这是本人在 ...

  2. C#-ado.net学习笔记-会有更新

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  3. Sql Ado.net 学习笔记之连接字符串

    https://www.cnblogs.com/heng95/p/5902019.html 连接字符串 SQL Client .net数据提供程序在连接到数据库时极其灵活,它提供了多种用以生成连接字符 ...

  4. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  5. ADO学习笔记之注入漏洞与参数化查询

    ADO学习笔记之注入漏洞与参数化查询 作为新手,在学习ADO程序时,使用 sql 语言查询数据时,很容易写类似如下代码: using (SqlConnection con = new SqlConne ...

  6. Entity Framework学习笔记——错误汇总

    之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...

  7. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  8. CUBRID学习笔记 3 net连接数据库并使用cubrid教程示例

    接上文 数据库安装好后,也可以测试语句了. 下面我们用c#写一个控制台程序,连接数据库,并读取数据. 一 下载驱动  net版的下 CUBRID ADO.NET Data Provider 9.3.0 ...

  9. Entity Framework学习笔记

    原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和 ...

随机推荐

  1. Excel VBA ——如何导出数据到excel表格

    sub OutPut() Dim FileTitle, MyPath, MyFullName As String Application.ScreenUpdating = false '关闭表格公式的 ...

  2. centos7下Etcd3集群搭建

    一.环境介绍 etcd主要功能是分布式的存储键值,优点不多说了,分布是集群,自动选举等等,自行百度,主要说下配置方法,折腾了几天,终于优点眉目了,记录下操作方法,本文参考了如下链接 https://w ...

  3. AD16PCB如何快速删除走线

    工具(Tools)取消布线(Un_Route)全部(AII) ad pcb画图,如果想整体去掉一条线,只要是连接在一起的,不管在哪一层,都可以采取如下方法:1.PCB画面下,按组合键Ctrl+H,会出 ...

  4. Struts2源码解析2

    看了前面一节对Struts2各个模块运行有了大概了解,也对调用的函数有了一定的了解,本节希望打断点跑一个Struts2例子! 还是放在struts2结构图: 一:项目启动后解析web.xml文件,会解 ...

  5. Git实际操作

    1.基本操作 git init 初始化仓库 git status 查看仓库状态 git add XXX.XX 向暂存区中添加文件XXX.XX git commit 保存仓库的历史记录 git log ...

  6. [原创]自定义参数静默方式安装JDK1.8

    摘要:当Java桌面程序开发完成做产品的时候,面对未知的安装环境,通常是编写一些预安装检测脚本/程序,让程序傻瓜化安装以便减少分发出去的产品带来 的未知工作量(安装答疑,操作系统问题引起安装失败等), ...

  7. windows server 2012 远程桌面不好使

    下面的文章里讲的比较详细 http://www.hfkehu.cn/thread-4382-1-1.html 我遇到的问题是第一种,因为是刚装的机器,刚连上网时,选择如下设置时,因为鼠标一点别的地方, ...

  8. angular使用sass的scss语法

    一.现象 为了简写样式 二.解决 1.安装sass ,利用npm 安装(npm工具如果没有,请先自行安装好) (1).npm install node-sass --save-dev (2).npm ...

  9. dskinlite自适应dpi

    调试了好久,mfc CDialog终于搞定,付费支持,qq: 80101277 效果图:

  10. Pytorch之训练器设置

    Pytorch之训练器设置 引言 深度学习训练的时候有很多技巧, 但是实际用起来效果如何, 还是得亲自尝试. 这里记录了一些个人尝试不同技巧的代码. tensorboardX 说起tensorflow ...