数据访问技术

什么是数据库?
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中提供的数据表格控件。

创建对象后创建数据集,再对齐进行填充,最后一句是指定数据源。

使用该数据集不用打开和关闭数据库链接

相关推荐
天草二十六_简村人2 小时前
阿里云SLS采集jvm日志(上)
java·运维·数据库·后端·阿里云·容器·云计算
Java面试题总结3 小时前
MongoDB(70)如何使用副本集进行备份?
数据库·mongodb
荒川之神3 小时前
Oracle LEVEL 函数练习(HR 模式 employees 表)
数据库·oracle
TDengine (老段)3 小时前
TDengine IDMP 工业数据建模 —— 元素与数据查询
大数据·数据库·人工智能·物联网·时序数据库·tdengine·涛思数据
蜡台3 小时前
Mysql 安装与配置
数据库·mysql
lajidecrd3 小时前
Ubuntu24安装PostgreSQL和PgVector
数据库·postgresql
羊小猪~~3 小时前
Redis学习笔记(数据类型、持久化、事件、管道、发布订阅等)
开发语言·数据库·c++·redis·后端·学习·缓存
福娃筱欢3 小时前
Oracle迁移KES提示ERROR: type “geometry“ does not exist
数据库·oracle
mldlds4 小时前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite