1、为什么要学ADO.NET:

之前我们所学只能在查询分析器里查看数据,操作数据,我们不能让普通用户去学sql,

所以我们搭建一个界面(Web或Winform)让用户方便的操作数据库中的数据。

2、什么是ADO.NET:

ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样,

System.Data.这组类是用来操作数据库(不光是MSSql Server),它提供了统一的编程接口让操作其它数据库(Access、

Oracle等)的方式和操作MSSql Server一致。

3、ADO.NET组成:

ADO.NET即在在.net中访问数据库的技术
4、ADO.NET常用类:
(1)Connection:连接,连接字符串,Open(),Close(),Dispose()
(2)Command:执行sql命令,ExecuteNonQuery(),ExecuteScalar(),ExecuteReader()
(3)DataReader:读取,HasRows(),Read(),Get***()或索引器,FieldCount
(4)DataAdapter:读取与更新,Fill(),Update()
(5)DataSet、DataTable、DataRow
操作不同数据库,就使用不同的实现类
建议:
(1)使用using简化连接使用
(2)尽量晚打开连接,尽量早关闭连接
(3)数据库连接只能打开一次,不能重复打开
(4)连接可以重复关闭,但是关闭之后就不能再次使用
(5)使用DataReader时必须保证连接是打开状态的,并且采用只进只读的方式进行操作

5、ADO.NET中的其他常见类:

6、各类在开发中的职能:

7、Ado.net访问数据库的方式

8、ADO.NET学习图:

~~抱歉,图太大,放不上来,整个资料我后期会上传到我的GItHub上面去的,或者请把邮箱放到下面,我私发。

简单代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient; namespace _1111
{
class Program
{
static void Main(string[] args)
{
int r = ;
//连接字符串
string str = "Data Source=.;Initial Catalog=Test1;User Id=sa;Password=***";
using (SqlConnection conn = new SqlConnection(str))//连接数据库
{
//conn.open();打开数据库,,,这会不要打开数据库
//conn.Dispose();
//conn.Close();
string sql = "update StudentInfo set tsname='张雷' where tsid=" + ; using (SqlCommand cmd = new SqlCommand())//要执行sql语句
{
conn.Open();//执行的时候再打开数据库
//增删改
r = cmd.ExecuteNonQuery();
}
}
Console.WriteLine(r > ? "操作成功" : "操作失败");
Console.ReadKey();
}
}
}

ADO.NET复习总结(1)--ADO.NET基础介绍的更多相关文章

  1. GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3

    GitHub: https://github.com/iccb1013/sheng.ADO.NET.Plus 早前分享过,当时没有把代码上传到Github,只是通过邮件的形式分享给了部分需要的朋友,最 ...

  2. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  3. C++ 迭代器 基础介绍

    C++ 迭代器 基础介绍 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定 ...

  4. Node.js学习笔记(一)基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  5. Node.js 基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  6. 1、git基础介绍及远程/本地仓库、分支

    1. Git基础介绍 基于Git进行开发时,首先需要将远程仓库代码clone到本地,即为本地仓库.后续大部分时间都是基于本地仓库上的分支进行编码,最后将本地仓库的代码合入远程仓库. 1.1. 远程仓库 ...

  7. git基础介绍

    git基础介绍 这是git操作的基础篇,是以前的写的操作文档,就没有进行手打,直接把图片贴进来了,你们担待哈,有不正确的地方可以指正出来,我将在第一时间去修改,多谢哈! 一.文件状态:git系统的文件 ...

  8. OSPF基础介绍

    OSPF基础介绍 一.RIP的缺陷 1.以跳数评估的路由并非最优路径 2.最大跳数16导致网络尺度小 3.收敛速度慢 4.更新发送全部路由表浪费网络资源 二.OSPF基本原理 1.什么是OSPF a& ...

  9. iOS系统及客户端软件测试的基础介绍

    iOS系统及客户端软件测试的基础介绍 iOS现在的最新版本iOS5是10月12号推出,当前版本是4.3.5 先是硬件部分,采用iOS系统的是iPad,iPhone,iTouch这三种设备,其中iPho ...

  10. 高通camera结构(摄像头基础介绍)

    摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...

随机推荐

  1. NET控件Designer架构设计

    总体结构 Designer总体上由三大部分组成:View,ViewModel和Model,这个结构借鉴了流行的MVVM模式.这三部分的职责分工是: View 负责把ViewModel以图形的方式展现出 ...

  2. 安卓电量优化之AlarmManager使用全部解析

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.AlarmManager概述 AlarmManager是安卓系统中一种系统级别的提示服务,可以在我们设定时间或者周期性的执行一个intent,这 ...

  3. jBPM学习之部署流程定义

    也许部署流程定义的方法有很多,这里选用的是用Java代码调用工作流引擎提供的部署服务API.在这之前,假设你的Eclipse已经安装好了GPD工作流画图工具,并且学会了画出最简单的HelloWorld ...

  4. form表单样式

    <BODY> <div id="modify-data"> <form class="modify-data-form"> ...

  5. [Spark内核] 第34课:Stage划分和Task最佳位置算法源码彻底解密

    本課主題 Job Stage 划分算法解密 Task 最佳位置算法實現解密 引言 作业调度的划分算法以及 Task 的最佳位置的算法,因为 Stage 的划分是DAGScheduler 工作的核心,这 ...

  6. unity3d ipv6支持

    unity游戏应用提交app stroe需要通过ipv6测试,但是unity本身我没找到可用的接口,所以使用ios插件来处理. 插件的IOSNativeNet.h和IOSNativeNet.m代码: ...

  7. sqlite ef6

    参考文章: http://www.cnblogs.com/adswads/p/3808549.html 用NUGET 引用 System.Data.SQLite.EF6  app.config 会有默 ...

  8. js上传图片

    额    呆坐许久  感觉 有很多想写的  就是不知从何写起..贼尴尬. 其实 我平时项目中 基本上传图片什么的  都是跟着from 表单 一起提交给后台的 实行起来 简单暴力 连图片预览的都没有写 ...

  9. git命令记录

    1, clone 远程分支 git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,可以如下: A. 查看所有分支(包括隐藏的)  git br ...

  10. 数据结构4——浅谈DancingLinks的思想及应用

    在学习DancingLinks之前,我们先来回顾一下我们以前学过的回溯法. 我们学习基础的回溯法的时候,我们都是先判断是否达到解,然后继续搜索. 对于搜到的下一个点,将他标记为使用过( vis[i]= ...