首页 > 技术文章 > .NET数据库访问

yokiblogs 2019-01-30 16:53 原文

 

 找到一张NET的架构图,基础操作中有ADO.NET,XML,ORM,LUNQ,I/O,除了对DB操作还有I/O操作

数据库访问方式:DATASet、LINQ to SQL、ORM、传统的使用数据库驱动技术

ORM是关系型数据库和对象之间作一个映射。无需操作复杂的sql,操作对象一样操作即可。主流的ORM框架:如EF

传统的使用数据库驱动技术(如ADO.NET(c#)、JDBC(java)、ODBC等等)操作数据库,业务逻辑与数据存取逻辑混杂一起。

下面是最直接的ADO.NET的数据库访问技术:

SqlConnection是对象连接数据库的

使用Command对象对数据库进行增、删、改、查等基本操作

常用属性:

CommandType:获取或设置Command对象要执行命令的类型

CommandText:获取或设置要对数据源执行的SQL语句、存储过程或表名

CommandTimeOut:获取或设置在终止对执行命令的尝试并生成错误之前的等待时间

Connection:获取或设置此Command对象使用的Connection对象的名称

Parameters:获取Command对象要使用的参数集合。

常用方法:

ExecuteNonQuery:执行sql语句并返回受影响的行数

ExecuteReader:执行返回数据集的select语句

ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行第一列

一句话:SqlCommand是需要对数据库做出改变或调整时使用的,使用后(除查询)数据库会有变化。

 

DataSet对象是创建在内存中的集合对象,就相当于一个小型关系的数据库。而一个dataset对象包含一组DataTable对象,这些对象可以与数据相关联,其中每个dataTable对象都是由DataColumn和DataRow对象组成的。通过DataAdapter填充dataSet

 

 

数据库类型的区别:char nchar varchar nvarchar

如果你肯定存储的数据长度,而且不包中文的,可以选择char类型。

如果肯定存储的数据长度,但可能包括中文,可以选择nchar类型。

如果不确定存储的数据长度,存储只有英文、数字的最好用varchar

如果不确定存储的数据长度,也有可能有中文,可以选择nvarchar类型,在SQL Server2005中也是比较常用的字符数据类型。

推荐阅读