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学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
随机推荐
- 图解Windows 10下Visual Studio Code的下载和安装
1. 百度搜索“Visual Studio Code”,如下图所示: 2. 点击第一个搜索结果项,进入官方网站,然后点击“Download for Windows”,如下图所示: 3. 进入提示下载页 ...
- jmeter入门非GUI(三)
配置见https://www.cnblogs.com/wish5714/p/9722193.html 该篇介绍非GUI模式的测试方法,及结果报告分析 简介 使用非 GUI 模式,即命令行模式运行 JM ...
- Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress
NodePort,LoadBalancer和Ingress之间的区别.它们都是将集群外部流量导入到集群内的方式,只是实现方式不同. ClusterIP ClusterIP服务是Kubernetes的默 ...
- # 2018-2019-20175302实验一《Java开发环境的熟悉》实验报告
2018-2019-20175302实验一<Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java ...
- jasper打印文件出现空白页面
EG:打印文件结果打印出一片空白 原因:使用了null的数据源而不是JREmptyDataSource 以下为正确代码 public <T> List<JasperPrint> ...
- Mybatis之批量操作
首先批量操作的优点是:大大的提高查询的效率. 举个简单的例子:如果在程序中遍历来执行sql的话,这种情况就是有多少行数据就要执行多少条sql,这样导致的效率将是非常低. 如下可能需要40s inser ...
- Froms 认证 二级域名共享session登录凭证
1. 需要共享的web.config 里需要加添 <authentication mode="Forms"> <forms name="/> &l ...
- POJ—1321(棋盘问题)
题目链接:https://cn.vjudge.net/contest/65959#problem/A 入门dfs,给一张地图,由“#”和“.”组成,“#”处可以放棋子,且棋子不能同行同列,问放满所有“ ...
- logistics回归理解
多元回归方程:假设有一个因变量y和一组自变量x1, x2, x3, ... , xn,其中y为连续变量,我们可以拟合一个线性方程: y =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn ...
- redis单例模式
看到好多面试都问设计模式,我就简单的了解了一下,顺便把之前封装好的Reis做了一次修改. 单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行 ...