易混淆名词辨析

以前学习总是懒得查,懒得问,很多名词都不知道是干嘛的,学的越来越多,混得越来越厉害.这次在学习Asp.net和Javascript中又接触到一些,借此机会,把这些学过的都对比和归纳一下.

ADO与ADO.NET

ADO: 这是第一年做那五个实例的时候用到过的吧,当时对于连接数据库并不太懂.其实ADO就是应用程序和数据源打交道时中间借助的那么一种东东,通过它我们就可以取出数据库中的数据,当然还可以对数据进行操作然后再保存到数据库.

ActiveX DataObjects,一种程序对象,用于表示用户数据库中的数据结构和所包含的数据。在VB编辑器中,可以使用ADO对象以及ADO的附加组件(称为MicrosoftADO Extensions for DLL andSecurity(ADOX))来创建或修改表和查询、检验数据库、或者访问外部数据源。还可在代码中使用ADO来操作数据库中的数据。

在BS开发过程中也会用到ADO对象访问数据源,但至今还未做过BS的项目,不过从一个 ASP 页面内部访问数据库的方法是通用的:

1.创建一个到数据库的 ADO 连接

2.打开数据库连接

3.创建 ADO 记录集

4.从记录集提取需要的数据

5.关闭记录集

6.关闭连接

但ADO是怎么做到帮助我们与数据库交互的呢?它有那么几个对象,这些对象分工合作就巧妙地完成了工作.


对象


说明


Command


Command对象定义了将对数据源执行的指定命令。


Connection


代表打开的、与数据源的连接。


Error


包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。


Field


代表使用普通数据类型的数据的列。


Parameter


参数化查询或存储过程的 Command对象相关联的参数或自变量。


Property


代表由提供者定义的 ADO对象的动态特性。


RecordSet


代表来自基本表或命令执行结果的记录的全集。

ADO.NET:这个在后来的机房收费系统中广泛应用,尤其是写D层SqlHelper时有很大体会,所以比较熟悉.ado.net是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,也可以是文本文件、Excel或者XML文件。Data Providers有许多,所以与不同的数据源具体交互也不同,然而无论使用什么样的Data Provider,开发人员将使用相似的对象与数据源进行交互。



说明


Connection类


连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令


Command对象


成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令


DataReader类


获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流


DataSet对象


是数据在内存中的表示形式。它包括多个DataTable对象,在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的


DataTable类


是一个数据网格控件,它无须代码就可以简单的绑定数据库


DataAdapter类


某些时候开发人员使用的数据主要是只读的,且很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以减少数据被数据库调用的次数。DataAdapter通过断开模型方便的完成对以上情况的处理。

二者的相同点:

1.都是数据库编程接口(API),为数据库编程提供基础支持。

2.可操作多种数据库

3.都支持ODBC

不同点:

1.基本技术不同

ADO是基于OLEDB,OLEDB本质上是COM(或ActiveX)技术。ADO.NET是基于.NET平台技术。

2.元数据和XML支持不同

ADO对数据库元数据(Schema——表示数据中表结构、字段结构和表关系的数据称为Schema)、以及XML的支持极其微弱.ADO.NET借助.Net 平台中的XML功能,能够很好地支持数据库元数据以及XML功能。

ASP与ASP.NET

ASP:动态服务器页面(ActiveServer Page)。它可以与数据库和其它程序进行交互,是一种编程工具。ASP的网页文件的格式是 .asp。现在常用于各种动态网站中。

ASP.NET是一种创建动态 Web应用程序的技术。编译 ASP.NET 页(Web 窗体),因此可以生成功能强大、基于窗体的 Web 页。生成这些页时,可以使用 ASP.NET
用户控件创建常见的 UI 元素,并对它们进行常规任务的编程.

对于这两者认识我还不是很深刻,但通过对比可以了解二者的不同点,asp所缺少的正是asp.net所完善的.


ASP缺点


ASP.NET优点


仅两种非类型语言:VBScript和Javascript


支持强类型语言:如C#,VB


代码与html和文本混合


asp代码与html设计和文本分离


代码不可重用


通过集成机制支持代码重用


没有调试机制


内置方法trace可以调试页


asp页需要解释


编译页可改进执行速度


使用同一文件


提供声明性服务器控件


先关闭Web服务器才能安装新版本的dll


无需注册组件

XML与HTML

XML:( eXtensibleMarkupLanguage)可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文件小,信息量大,这就非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

HTML:即超文本标记语言,是网页的本质.它通过结合其他Web技术可以创造出功能强大的网页.“超文本”是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。HTML的结构包括Head和Body,其中Head部分提供关于网页的信息,Body部分提供网页的具体内容。

二者的不同点:

HTML是用来显示数据的,而XML是用来描述和存储数据的.两者是完全不同的语言,以及,XML中严格区分大小写,HTML则不区分等.对于XML总结一句话就是,XML是一种跨平台的,与软硬件无关的,处理与传输信息的工具.

Java和Javascript

Java:是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。

Javascript代码可以实现多种功能,写好后被保存到一个扩展名为.js的文件中,引入HTML就可以被使用,脚本语言的特征是解释执行,不编译,因此不能以可执行文件的形式存在.分别说了这么多,其实是想表达Java和Javascript并没有多大的关系,他们只是名字长得像而已,正如雷锋和雷锋塔,你说他俩有联系吗?

易混淆名词辨析,布布扣,bubuko.com

时间: 2024-12-23 16:50:10

易混淆名词辨析的相关文章

C++之易混淆知识点一

1.const.mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改.volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化.例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序可能会修改其中的内容,或者两个程序可能相互影响,共享数据.该关键字的作用就是为了改善编译器的优化能力.假设编译器发现程序在几条语句中两次使用某个变量的值,则编译器可能不是让程序查找这个编码的值两次,而

a链接易混淆用法详解

链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道</a> 而如果这个链接指向的网址你想在浏览器中的新窗口中打开,那么代码如下: <a href="http://www.baidu.com" target="_blank">百度一下,你就知道</a> 那如果我页面中有一堆的a链接都想在

微软BI 之SSIS 系列 - 对于平面文件中 NULL 值处理过程中容易极易混淆的几个细节

最近有人问我 OLE DB Destination 中的 Keep Nulls 如何控制 NULL 值的显示,为什么选中了 Keep Nulls 但是数据库中没有 NULL 值? 为什么在 Flat File Source 中勾选上了 Retain null values from the source as null values in the data flow 但是为什么目标表上显示的是一个当前日期,而不是 NULL 值等等,单开此文来解释这些非常容易混淆的概念. 在比较纯粹的 ETL 项

常问易混淆知识点(嵌入式)

b 一.知识点1 a) 关键字volatile在编译时有什么含义?并给出三个不同使用场景的例子(可以伪代码或者文字描述).b) C语言中static关键字的具体作用有哪些 ?c) 请问下面三种变量声明有何区别?请给出具体含义int const *p;int* const p;int const* const p; a) 用volatile关键字定义变量,相当于告诉编译器,这个变量的值会随时发生变化,每次使用时都需要去内存里 重新读取它的值,并不要随意针对它作优化. 建议使用volatile变量的

C++之易混淆知识点四---虚函数与虚继承

C++面向对象中,虚函数与虚继承是两个完全不同的概念. 一.虚函数 C++程序中只要类中含有虚拟函数,编译程序都会为此类生成一个对应的虚拟函数跳转表(vtbl),该虚拟函数跳转表是一个又若干个虚拟函数体入口地址组成的一个线性表.派生类的虚拟函数跳转表的前半部分由父类的vtbl得出,但是里面的内容不一定相同,后半部分则对应着自己新定义的虚拟函数. class Employee { protected: char *Name; int Age; public: void changeAge(int

PHP易混淆函数的区别及用法汇总

本文实例分析了PHP易混淆函数的区别及用法.分享给大家供大家参考.具体分析如下: 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. PHP代码: 复制代码代码如下: $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则不

软考网络工程师易混淆的知识点汇总

网络工程师考试是全国计算机技术与软件水平考试的一项中级资格考试,通过考试的合格人员能根据应用部门的要求进行网络系统的规划.设计和网络设备的软硬件安装调试工作,能进行网络系统的运行.维护和管理,能高效.可靠.安全地管理网络资源,作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平,能指导网络管理员从事网络系统的构建和管理工作.网络工程师考试是软考的一大热门,怎样才能顺利通过考试是广大考生都想知道的,下面希赛软考学院为您带来网络工程师备考锦囊之应战篇,专业老师整理的网络工

ORACLE 中极易混淆的几个 NAME 的分析和总结

我们知道,Oracle中的各种NAME会在我们的各个配置文件中经常出现,大致有以下这些: 在init.ora中有DB_NAME,INSTANCE_NAME,SERVICE_NAME 配置DG的时候,为了区分主备库,还要使用DB_UNIQUE_NAME 在操作系统中需要配置环境变量,ORACLE_SID 在listener.ora中有SID_NAME,GLOBAL_DBNAME 在tnsname.ora中有SERVICE_NAME,SID,NET SERVICE NAME 那么这么多名字到底有哪些

C++之易混淆知识点五

一.解析类继承中父类与子类之间成员的访问可见度: 外部可见度:指的是被子类继承的父类成员在子类的外部访问控制度,有protected.public.private. 内部可见度:指的是被子类继承的父类成员在子类定义的方法中的内部访问控制度,有可访问(Y).不可访问(N). class A{     private:        void pvA(); protected:        void ptA()    public:        void pbA();         ....}