日期:2014-05-18  浏览次数:20736 次

越来越不懂ADO.NET
刚学完SQL Server,就学ADO.NET
SQL Server中有数据库、表、列、主键、外键、视图
ADO.NET也有DataSet、DataTable、DataColumn、DataRow、主键、外键、视图

这些东西到底哪些时候会用上哦,不是老婆婆的裹脚又长又臭吧,简直就像另一个版本的SQL Server

------解决方案--------------------
课程这样设计也是为了和数据库的概念对应起来,容易接受。数据库就是一个独立的系统,而程序访问数据库为了获得数据,这时候就用到了ADO.NET。
------解决方案--------------------
ADO.NET是指把数据库用一种方式和程序连接起来,好比说你现在做一个酒店管理系统,要查数据库,怎么查?你在SQL里面编程?显然不可能,因为那只是查询语句,程序主体呢?要怎么连接起来?这就是ADO.NET
------解决方案--------------------
ADO.NET 就是为了从数据库取数据 然后存到 程序中撒.....所以就包含 了DataSet、DataTable、DataColumn、DataRow、主键、外键、视图 这些东西.
------解决方案--------------------
你怎么学的哦
SQLServer 是数据库。
ADO.NET是数据访问组件。
这两者不是一个类型的东西,
------解决方案--------------------
你在数据库的表,和程序怎么关联。
ADO.NET可以把你的数据库表 适配成 DataSet,DataTable
这样你就可以操作了,呵呵

------解决方案--------------------
"简直就像另一个版本的SQL Server" 它的目的也差不多如此(当然是面对所有数据库)
就是为了映射数据库 不然你从数据库拿出来的数据在内存中怎么表示?

想象一下 数据库在一个进程 你的程序在一个进程
一个进程传东西给另外一个进程传的是1和0
那你的程序进程怎么组织这些1和0?


------解决方案--------------------
数据库的访问模式有两种,一种是连接式访问,一种是断开连接式访问

第一种方式无需实例化DataSet,DataTable,因为是直接读取的,并且要始终保持数据库连接,这种方式也较快

那么如果我们想在断开数据库连接的情况下还能访问之前读取出来的数据,那怎么办?

那就需要放置在内存中,而内存中以何种结构和形式保存呢?于是DataSet,DataTable就扮演起了重要的角色,相当于内存中的数据库和数据表,那么这种情况下,即便与数据库断开连接,我们仍然可以从内存中的DataSet取得数据,这就是他的作用.
------解决方案--------------------
楼主找到关键了

数据库就是这些关键了:数据库(DB)、表、列、主键、外键、视图

不过数据库有Sql server, Oracle, DB2, Access,......


而ADO.NET也有DataSet、DataTable、DataColumn、DataRow就是用来支持多种数据库的
------解决方案--------------------
以后又冒出个linq
更像老婆婆的裹脚又长又臭