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学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
随机推荐
- Container and Injection in Java
一.Container 1.为什么使用Container 通常,瘦客户端多层应用程序很难编写,因为它们涉及处理事务和状态管理.多线程.资源池和其他复杂的低级细节的复杂代码行.基于组件和独立于平台的Ja ...
- tensorflow object detection api graph rewriter
目前,tensorflow 目标识别的api函数可以使用 graph rewriter这样的配置,这样配置的引入主要是为了模型压缩使用,具体设置参数有: syntax = "proto2&q ...
- Java Script 简介
Java Script 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备.JavaScrip ...
- 字节、字、bit、Byte、byte的关系区分
1.位(bit) 来自英文bit,音译为"比特", 表示二进制位.位是计算机内部数据存储最小单位,11010100是一个8位二进制数.一个二进制位只可以表示 ...
- 2018-2019-2 20175218 实验一《Java开发环境的熟悉》实验报告
实验内容.步骤与体会: 1.实验过程的理解,实验指导书中知识点的理解. (1)知道了JVM.JRE.JDK之间的区别. JVM就是我们熟知的Java虚拟机:JRE是Java运行环境:而JDK则是Jav ...
- 电话号自动识别之bug解决汇总
今天测试一个defect: “联系我们”页显示的电话号码,在不同浏览器显示效果不统一,有些浏览器自动识别电话号码并强制添加了样式. 网络搜索发现,其它website 也有类似问题,例如:http:// ...
- pm2管理node
一般直接npm start起的退出命令行就没了,node后台管理工具pm2目前比较流行. npm install -g pm2 pm2 list pm2 start bin/www --name de ...
- [剑指Offer]29-顺时针打印矩阵-Java
题目链接 https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a?tpId=13&tqId=11172&t ...
- git master 回滚代码
回退到指定版本 f6a3d430 (为commit id 前8位) git reset --hard f6a3d430 强制推送到远程分支 git push origin HEAD --force 但 ...
- Falsk SqlAlchemy
pip install mysql-connector from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Fl ...