美文网首页
ado.net 面试题

ado.net 面试题

作者: 青月教主 | 来源:发表于2019-12-09 06:46 被阅读0次

1.ADO.NET中读写数据库需要使用哪些对象?作用是什么?

答:Connection连接对象,Command执行命令和存储过程,DataReader向前只读的数据流,DataAdapter适配器,支持增删查询,DataSet数据级对象,相当与内存里的一张或多张表。

2.写出一条SQL语句:取出Student表中第31到第40条数据(以自动增长的ID作为主键,主键可能不连续)

答: select top 10 * from Student where id not in (select top 30 id from Student)

3.事务的四大特性分别详细说明

1)原子性

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

2)一致性

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。

3)隔离性

由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。

4)持久性

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

4.SQL Server是什么类型数据库,保证数据库的完整性都有哪些

答:关系型数据库,实体完整性,区域完整性,参展完整性

5.描述SQL Server数据库中的基本约束及其作用

答:

(1).主键约束(Primary Key): 确定表中的标识列,(主键字段不能为空,必须唯一) 标识:确定一个对象的唯一表现

(2)外键约束(Foreign key) 确定表与表之间的联系方式,一般情况下通过从表的标识列进行确定 主表:给哪张表添加约束哪张表就是主表,辅助表为从表

(3)唯一约束(unique) 确定这个字段中的数据必须是唯一

(4)非空约束(not null) 确定这个字段中的数据必须不能为空

(5)检查约束(CHECK) 设置这个字段中的数据的特性

(6)默认约束(DF) default constraint 默人值(选中列,设置列的默认绑定值)

6.简单叙述索引、视图、触发器、事务、存储过程

答: 索引提供的表中数据的逻辑位置

视图是一种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进行增删改查操作;

存储过程是一组予编译的SQL语句

事务是指一个工作单元,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消请求操作,即这组命令要么都执行,要么都不执行

触发器是一种特殊类型的存储过程,出发器主要通过事件触发而被执行的,

7.列举出SQL Server中的聚合函数(至少5个)

答:SUM()、MIN()、MAX()、AVG()、count()

8.什么是SQL注入,应该如何防止

答:利用sql关键字对网站进行攻击.

使用参数化的SQL就可以避免SQL注入

9.SQL中的左联接和右联接查询有什么区别

答:

左:如果左表的某一行在右表中没有匹配行,则在关联的结果集行中,来自右表的所有选择列表列均为空值。

右:将返回右表的所有行。如果右表的某一行在左表中没有匹配行,则将为左表返回空值。

10.详细描述三层架构开发模式以及三层架构的好处

答:数据访问层,业务层,表示层。

  数据访问层(DAL),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作 

  业务逻辑层(BLL)对传送数据进行逻辑判断分折,并进行传送正确的值。      

表示层为了与用户交互例如用户添加表单。

  优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。

11.抽象类和接口的区别是什么

答:异:接口不能直接实例化。

    接口不包含方法的实现。

    接口、类和结构可从多个接口继承。但是C#类只支持单继承:类只能从一个基类继承实现。类定义可在不同的源文件之间进行拆分。

  同:接口、类和结构可从多个接口继承。

    接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。

    接口可以包含事件、索引器、方法和属性。

12.T-SQL语言包含哪三种常用语言?详细描述

答:

1、数据操纵语言(DML):用来操纵数据库数据命令包括:select、insert、update、delete

2、数据定义语言(DDL):用来建立数据库、数据库对象和定义列命令包括:create、alter、drop

3、数据控制语言(DCL):用来控制数据库组件存取许、权限等命令包括:grant、deny、revoke

13.单例模式的好处是什么?如何实现单例模式

答:封装了唯一性,可严格控制客户怎样访问及何时访问

内存中只有一个对象,可节约系统资源,提高系统性能

构造函数私有化,使用一个公开静态方法,使用一个静态属性进行判断当前窗口是否被创建

14.请简单描述类和结构的区别

结构:

结构是值类型

没有默认的构造函数,但是可以添加构造函数

没有析构函数

没有 abstract 和 sealed(因为不能继承)

不能有protected 修饰符

可以不使用new 初始化

在结构中初始化实例字段是错误的

类:

类是引用类型:

有默认的构造函数

有析构函数

可以使用 abstract 和 sealed

有protected 修饰符

必须使用new 初始化

15.请描述Socket进行同步通讯编程的详细步骤

答:

1.创建socket

2.确定本地计算机端点(ip和端口号)

3.socket绑定端点

4.socket.receive(); 接收数据

5.socket.send();发送数据

6.socket.close();关闭socket

16…NET中的错误处理机制是什么

答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

17.请详细描述C#中的访问修饰符

pubic 访问不受限制。

protected 访问仅限于包含类或从包含类派生的类型。

internal 访问仅限于当前程序集。

protected internal 访问仅限于从包含类派生的当前程序集或类型。

private 访问仅限于包含类型。

18.名词解释SQL/XMAL/XML/HTML/OOP/CTS/CLS/CLR

SQL结构化查询语言(Structured Query Language)。是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

XAML全称Extensible Application MarkUp Language。可扩展应用程序标记语言。是设计师和程序员沟通的枢纽。

XML即可扩展标记语言。标记是指计算机所能理解的信息符号。

HTML超文本标记语言(HyperText Markup Language)是一种用于创建网页的标准标记语言。

OOP(Object Oriented Programming) 面向对象的程序设计

CTS通用类型系统 (common type system) :一种确定公共语言运行库如何定义、使用和管理类型的规范。

CLR(Common Language Runtime) 公共语言运行时 用于编译MSIL的代码,主要在Net的后台环境下执行

CLS(Common Language Specification) 公共语言规范,是CLR定义的语言特性集合,公共语言规范是一组构造和约束,它充当库编写器和编译器编写器的向导

19.重写和重载的区别是什么?Ref参数与out参数的区别是什么

Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

区别:

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

ref是 有进有出,而out是 只出不进。

20.详细描述值类型和引用类型的异同

答:

值类型的变量直接包含值。将一个值类型变量赋给另一个值类型变量时,将复制包含的值。

引用类型变量的赋值不同,引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

所有的值类型均隐式派生自 System.ValueType。

与引用类型不同,从值类型不可能派生出新的类型。但与引用类型相同的是,结构也可以实现接口。

与引用类型不同,值类型不可能包含 null 值。然而,可空类型功能允许将null 赋给值类型。

每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

值类型主要由两类组成:结构、枚举;结构分为以下几类:Numeric(数值)类型、整型、浮点型、decimal、bool、用户定义的结构。

引用类型的变量又称为对象,可存储对实际数据的引用。声明引用类型的关键字:class、interface、delegate、内置引用类型:object、string

相关文章

  • ado.net 面试题

    1.ADO.NET中读写数据库需要使用哪些对象?作用是什么? 答:Connection连接对象,Command执行...

  • EF框架

    什么是Entity Framework ADO.NET Entiry Framework是微软以ado.net为基...

  • 登录用户验证功能设计

    连接技术 数据库访问技术:ADO.NET ADO.NET操作数据库结构图 ADO.NET提供的四个核心对象 ADO...

  • VS2015 + EF6连接MYSQL

    ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/...

  • 简单使用 Entity Framework Code First

    .ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O...

  • ADO.NET入门

    ADO.NET ADO.NET是用于数据的访问的组件 Connection对象 用于建立数据源与应用程序之间的连接...

  • 11.9c#总结

    9号 ADO.NET数据库 从三个方面学习数据库,掌握ADO.NET 的功能和组成,掌握使用 Connection...

  • C# WinForm实践开发教程——第 四 章 ADO.NET

    ADO.NET的优点: 互操作性 可维护性 可编程性 性能优化 可伸缩性 ADO.NET 的主要对象 Connec...

  • C#入门数据库增删改查

    在C#中ADO.NET技术提供了对数据源的访问,ADO.NET是一个类库,包含了Conection 对象、Coma...

  • 2.8

    2.8商品信息查询修改界面功能设计 1.什么是ADO.NET? ado.net提供与数据源进行交互的相关的公共方法...

网友评论

      本文标题:ado.net 面试题

      本文链接:https://www.haomeiwen.com/subject/bgnvgctx.html