什么是数据库?
SQL Server



安装微软软件自带数据库--小型应用程序
中型应用程序
大型应用程序
行和列用字段形式表示 库--数据库 表中创建字段通过设置值实现

创建数据库:后面跟数据库名称
语法:create database 库名

简单的SQL语句: 增删改查及关键字

查个数据表中某个所有数据 select*
查询tb1执行
查询id为1数据
添加和查询数据
改为小张
删除 结果为无id为1的数据

开发中经常使用--增删改查
编写SQL语句时候用大写用大写用小写用小写
ADO.NET对象模型

从下往上(对象)
与数据库连接功能
返回数据、修改数据、运行存储过程及发送和检索信息的数据库命令
通过Command对象从数据库中检索信息 只读的 快速的 现前的 快速的方式访问数据库
链接现成的DateSet对象和数据源之间的桥梁,使用Command对象在数据源中执行命令以便将数据加载到DataSet数据集里面。确保DateSet数据更改与数据源保持一致。
DateSet对象 ADO.Net技术核心概念,支持 ADO.Net断开式、分布式数据方案。 DateSet对象其实是一个数据库容器,可以当做存在内存中数据库,无论是什么提供一致关系编程模型。
DateTable对象:内存数据中一个表。
包含这几个对象:

ADO.Net开发数据库常用命名空间
常用第五个命名空间 ADO.Net技术开发常用的命名空间:

倒数第三个:这章最常用一个命名空间。
所有对数据库访问操作都是从数据库连接开始。
数据库连接对象:Connection对象 通过字符串连接数据库对象。
SQL 如果是Windows就不用进行验证了。
数据库连接字符串关键字含义


OPEN CLOSE DISPOSE--连接数据库常用三个方法

服务器 用户名和密码(不是本地机器用户名和密码,登录SQL Server服务器的用户名和密码)
后面指定的是数据库名称
指定数据库连接字符串
Open方法打开数据库链接
判断连接状态
属性是后面值说明当前数据库连接关闭
对数据库进行操作首先添加命名空间

出现异常原因:服务器名称不对引起的
替换:由于反斜杠需要加转义字符

contect对象的close方法关闭数据库连接状态
遇到数据库相关程序时候运行之前先把服务器名改成本机SQL Server服务器名
用户名和密码改为本地机器的登录SQL Server服务器的用户名和密码,然后再开始运行
熟悉Command对象
使用Connection对象与数据源建立连接后,可以使用Command对象对数据源执行查询、添加、删除和修改等各种操作,操作实现的方式可以是使用SQL语句,也可以是使用存储过程。根据.NET Framework数据提供程序的不同,Command对象可以分成4种,分别是SqlCommand、OleDbCommand、OdbcCommand和OracleCommand,在实际的编程过程中应该根据访问的数据源不同,选择相对应的Command对象。
|----------------|----------------------------------|
| 常用属性 | 说明 |
| CommandType | 获取或设置Command对象要执行命令的类型 |
| CommandText | 获取或设置要对数据源执行的SQL语句或存储过程名或表名 |
| CommandTimeOut | 获取或设置在终止对执行命令的尝试并生成错误之前的等待时间 |
| Connection | 获取或设置Command对象使用的Connection对象的名称 |
| Parameters | 获取Command对象需要使用的参数集合 |
|----------------------|---------------------------------------------------------------------------------------------------|---|
| 常用方法 | 说明 | |
| ExecuteNonQuery (常用) | 用于执行非SELECT命令,比如INSERT、DELETE或者UPDATE命令,并返回3个命令所影响的数据行数;另外也可以用来执行一些数据定义命令,比如新建、更新、删除数据库对象(如表、索引等) | |
| ExecuteScalar | 用于执行SELECT查询命令,返回数据中第一行第一列的值,该方法通常用来执行那些用到COUNT或SUM函数的SELECT命令 | |
| ExecuteReader | 执行SELECT命令,并返回一个DataReader对象,这个DataReader对象是一个只读向前的数据集 | |
应用Command对象操作数据
调用SQL语句:
以操作SQL Server数据库为例,向数据库中添加记录时,首先要创建SqlConnection对象连接数据库,然后定义添加数据的SQL字符串,最后调用SqlCommand对象的ExecuteNonQuery方法执行数据的添加操作。

创建对象指定连接服务器和数据库
数据表添加一行记录。 --操作字符串
打开对象调用方法错做,关闭数据库连接
执行完数据库操作后关闭数据库链接。

应用Command对象调用存储过程

db下划线存在,存储过程中已经定义的参数

调用存储过程实现对数据添加操作
通过Command对象调用存储过程比调用SQL语句快,保证数据安全性和完整性,尽量使用存储过程对数据库中数据表进行操作。
DataReader数据读取对象概述


方法1:循环读取DR数据时候用
自己没有构造函数,使用SQL Command对象的
方法生成。
使用DataReader对象检索数据
使用DataReader对象读取数据时,首先需要使用其HasRows属性判断是否有数据可供读取,如果有数据,返回True,否则返回False;然后再使用DataReader对象的的Read方法来循环读取数据表中的数据;最后通过访问DataReader对象的列索引来获取读取到的值,例如,sqldr["ID"]用来获取数据表中ID列的值。


DataSet对象--支持断开式、离线模式下操作数据库。
DataSet对象是ADO.NET的核心成员,它是支持ADO.NET断开式、分布式数据方案的核心对象,也是实现基于非连接的数据查询的核心组件。DataSet对象是创建在内存中的集合对象,它可以包含任意数量的数据表以及所有表的约束、索引和关系等,它实质上相当于在内存中的一个小型关系数据库。一个DataSet对象包含一组DataTable对象和DataRelation(数据关系对象),其中每个DataTable对象(数据表集合对象)都由DataColumn(数据列对象)、DataRow(数据行对象)和Constraint集合对象(数据约束集合对象)组成。
常用属性和方法在帮助里面查看。
通过SC创建数据库,通过数据库生成SDA对象,

DataAdapter对象
简单描述:DataAdapter对象(即数据适配器)是一种用来充当DataSet对象与实际数据源之间桥梁的对象,可以说只要有DataSet对象的地方就有DataAdapter对象,它也是专门为DataSet对象服务的。DataAdapter对象的工作步骤一般有两种:一种是通过Command对象执行SQL语句,从而从数据源中检索数据,并将检索到的结果集填充到DataSet对象中;另一种是把用户对DataSet对象作出的更改写入到数据源中。
|---------------|-----------------------|
| 属性 | 说明 |
| SelectCommand | 获取或设置用于在数据源中选择记录的命令 |
| InsertCommand | 获取或设置用于将新记录插入到数据源中的命令 |
| UpdateCommand | 获取或设置用于更新数据源中记录的命令 |
| DeleteCommand | 获取或设置用于从数据集中删除记录的命令 |
|----------|---------------------------------------|
| 方法 | 说明 |
| Fill(常用) | 从数据源中提取数据以填充数据集 |
| Update | 更新数据源(把DateSet所做的更改更新到数据源里面) 保持数据源一致性 |
填充DataSet数据集

创建一个对象使用查询数据,调用5方法对数据集进行填充(起一个临时表名称)
.net中提供的数据表格控件。
创建对象后创建数据集,再对齐进行填充,最后一句是指定数据源。
使用该数据集不用打开和关闭数据库链接