A.填空题:
1.类的三大特性是(封装性)(继承性)(多态性)。
2.在SELECT语句的FROM子句中最多可以指定(256)个表或视图,相互之间要用(,)分隔,当所查询的表不在当前数据库时,可用(数据库.所有者名称.对象名称)格式来指出表或视图对象。
3.创建存储过程的命令是(create procedure),删除表的命令是(drop table)。
4.计算字段的累加和的函数是:(Sum()),统计项目数的函数是:(Count())。
5.关系数据库中,主键是(为标识表中唯一的实体)。
6.声明抽象类的关键字是(abstract),抽象类不能(实例化)。
7..NET运行库支持被称为(委托)的引用类型,其作用类似于C++中函数指针的用途。
8.XML的全称是(可扩展的标记语言)。
9.C#中所有的类型实质上都是从(object)类派生而来的。
10. 声明静态变量的关键字是(static),声明常量的关键字是(const)。
11.C#中处理内存管理功能的是(无用单元收集器)。
12.在C#中用于显式地将一个值或引用转换为另一种不同的类型称为(强制类型转换)
13.在ADO.NET中,command对象是用(ExecuteNomQuery)(ExecuteScalar)(ExecuteReader)方法执行命令。
14.B/S通常使用的结构设计模型分为(表示层)(业务逻辑层)(数据库层)。
15.SQL SERVER中索引类型包括的三种类型分别是(唯一索引)(簇索引)(非簇索引)。
B.简答题:
1.什么是中间语言(IL)?它的作用?
中间语言代替了COM的调用约定和内存管理标准,所有其他的NET语言都将编译为这种语言,结果就是程序员不必来确保他们的代码将与一种确定的二进制标准进行互操作,而是由不同。NET语言编译器将代码编译到IL中来确保这种互操作性。
2.什么是装箱和拆箱?
装箱是将值类型转换为引用类型的过程,相反的过程(即将引用类型转换为值类型)被称为拆箱。在装箱是不需要显示的类型转换,但在拆箱是需要类型转换,这是因为在拆箱是对象可以被转换为任何类型。
3.出ADO.NET中读写数据库的主要的几个类?它们的作用?
SqlConnection OleDbConnection ---连接数据库
SqlCommand OleDbCommand----SQL语句的包装或存储过程的调用
SqlDataAdapter OleDbDataAdapter---用于存储选择,插入,更新和删除语句的类,填充DataSet。
SqlDataReader OleDbDataReader---只向前的连接数据库读取器
DataSet----用于数据库操作的数据集。
4.C#中接口和类有什么异同?
接口类似于类,但它们有区别:a.接口中的方法没有访问限制符;b.在接口中不执行任何方法;c.接口中的方法不能如抽象方法那样定义为虚拟和显式的,由实现接口的类来决定如何实现方法;d.接口不能示例化,没有构造函数,也没有字段,在接口中不允许进行操作符的重载。
5. 解释ASP.NET中的code-behind?
将页面的编码和功能编码分离,使代码的改进更为方便。
6.什么是ASP.NET中的用户控件?
用户控件是用ASP.NET代码所创建的控件,它的创建如同在标准的ASP.NET WEB页中创建控件一样,不同之处在于一旦创建了用户控件,就可以在多个ASP.NET页面中重复使用他们。
7.在C#中,string str = null 与 string str = “” 请尽量说明其中的区别。
string str = null 是不给他分配内存空间,而string str = ““ 给它分配长度为空字符串的内存空间。
8. 什么是受管制代码?
在.NET环境中运行的任何代码都是受管制代码。在。NET环境外部的其他代码也运行在WINDOWS上的,为非受管制代码。
9.C#中常用的访问形式?它们各自的作用域?
Public 用来声明所有对象都可以使用的方法或属性。
Private 用来指出只有拥有该方法或属性的类才能访问该方法或属性。
Protected 用来指定属性或方法的作用域,这样就只有拥有该方法或属性的类以及该类的派生类才能访问该属性或方法。
Internal 用来指定属性或方法在一个程序集内部的作用域。
10. SQL SERVER 中的存储过程的理解?
存储过程是一组预先编译好的T-SQL代码,存储过程可以作为一个单元被用户的应用程序调用.由于是已经编译好的代码,所以执行起来不必再次编译,从而提高了程序的运行效率。
11.CTS,CLS,CLR分别作何解释?
公共语言运行时(CLR):它实际管理代码,它可以处理和加载程序,运行程序的代码,以及提供所有支持服务的代码。
公共类型系统(CTS):为了实现语言的互操作性,必须有一组各种语言都认可的基本数据类型,这样才能对所有语言进行标准化管理。
公共语言规范(CLS):这是确保代码可以在任何语言中访问的最小标准集合,所有用于。
12.ASP.NET和ASP的主要优势?
a.ASP.NET具有面向对象性;b.ASP.NET使用ADO.NET,使对数据库操作更快速更强大;
c.ASP.NET支持多种语言,摆脱了ASP只能使用非结构语言(VBSCRIPT,JSCRIPT)编写的限制;d.ASP.NET具有代码绑定技术,使页面代码和功能代码的编写完全分离,具有更好的重用性.
13.NET的错误处理机制是什么?
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到所匹配的Catch为止。
14.解释Page.IsPostBack属性?
Page.IsPostBack是用来检查目前网页是否为第一次加载,当使用者第一次浏览这个网页是Page.IsPostBack会传会FALSE,否则为TRUE,所以使用该属性来避免做一些重复的动作。
15..net framework包含哪几种技术?
.net framewor本事可视为三中不同的技术:公共语言进行时(CLR),框架类库和实用工具。
16.触发器分为事前触发和事后触发,有何区别?
事前触发器就是在语句执行之前激活的触发器,事后触发器就是在语句执行后激活的触发器。
17.解释SQL SERVER2000中HAVING的用法?
当完成数据结果的查询和统计后,可以使用HAVING关键字来对查询和计算的结果进一步筛选。
18.解释SQL SERVER2000中GROUP BY的用法?
如果需要按某一列数据的值进行分类,在分类的基础上再进行查询,就需要使用GROUP BY。
19.解释下C#中的方法的重载?
C#中允许在一个类中定义方法的不同版本,编译器会自动根据提供的参数选择最合适的版本。
20.事务是什么?
事务的所有操作必须完成,否则事务将被撤消。也就是说,事务是作为一个整体的单位处理,不可以被分割,事务中操作失败回滚,处理成功时提交。
21.描述下ASP.NET中使用DataReader对象 和DataSet对象的区别?
DataReader对象是只向前的连接数据读取器,使用它可以快速有效地访问数据.
DataSet对象提供一个内存中数据的关系表示形式,一整套包括一些表在内的数据(这些表包含数据、对数据进行排序并约束数据),以及表之间的关系.
DataReader对象会使得SQL SERVER的连接处于忙碌桩,以便只有在关闭DataReader之后才可以在这个连接上执行其他操作.
DataSet对象可以可以看作是DATATABLE对象的容器,可以在数据库操作时将多个表的所有数据都放在DataSet中,用在单独一次调用中将其返回,避免了重复调用的过程.
DataSet对象的调用将在内存开辟一个虚拟的表.因此将占有相当的内存空间。
22.分析类和结构的异同?
a.结构可以继承接口,但不允许继承类和其他结构;b.结构是值类型,类是引用类型;
b.结构不允许声明析构函数;d,结构是从堆栈分配内存,而类是从堆上分配内存。
23.解释ADO.NET中的使用Connection 类的close()和dispose()的区别?
Close方法关闭数据库连接,并将这个连接返回到连接池.因此程序可以再次使用这个连接;Dispose方法释放所有与连接有关的资源。
24.叙述ADO.NET中的DataAdapte类的作用?
DataAdapte类是数据集和数据提供程序的主要接口。利用这个类能够填充数据集,管理和维护数据,以及将更新发送回数据存储器。
25.什么是WEBSERVICE ?
从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
26.行下面代码后:
String strTemp = "abcdefg 某某某";
Int I System.Text.Encoding.Default.GetBytes(strTemp).Length;
Int j = strTemp.Length;
问:i=(13) ;j=(11)
原因是什么?原因是汉字占2个字节
27.叙述ASP.NET中的几种验证控件(equiredFieldValidato, CompareValidator, RangeValidator,RegularExpressionValitor,CustomValidator, ValidationSummary)及作用?
equiredFieldValidator 如果指定的文本控件空白,产生错误
CompareValidator 将文本控件的值与特定值比较,如果返回FALSE,产生错误RangeValidator 文本域的值落在一个指定区域外,产生错误
RegularExpressionValitor 文本域的值与使用常规表达式指定的模式不匹配是,产生错误CustomValidator 调用自定义逻辑,根据返回的值产生错误
ValidationSummary 在一个特定区域内显示验证错误的文本
C.编程题:
1.有三个表,结构如下:
STUDENT(学生证号,姓名,性别,出生年月)
COURSE(课程号,课程名,授课教师)
SC(学生证号,课程号,成绩,授课教师)
用标准SQL 语句完成下列操作:
a. 查询女生的基本情况,并按照学生证号降序排列。
SELECT * FROM STUDENT WHERE 性别=‘女’ ORDER BY 学生证号 DESC
b. 查询成绩在90分以上的学生的姓名
SELECT 姓名 FROM STUDENT WHERE 学生证号 IN
(SELECT 学生证号 FROM SC WHERE 成绩 < 90 )
c. 查询数学类课程的课程号和课程名(模糊查询,以S开头)
SELECT 课程号,课程名 FROM COUSE LIKE “S%”
d.查询选课学生所选课程的课程号和成绩,以及该学生的姓名和性别
SELECT SC.课程号,SC.成绩,STUDENT.姓名,STUDENT.性别 FROM SC,STUDENT
WHERE SC.学生证号= STUDENT.学生证号
e.查询03号课程的平均成绩
SELECT AVG(成绩) FROM SC WHERE 课程号=‘03’
f.删除成绩不及格的学生姓名
DELETE 学生姓名 FROM STUDENT WHERE 学生证号
(SELECT学生证号 FROM SC WHERE 成绩〈60)
j.把学生证号为90876的学生所选的01号课程成绩改为80分
UPDATE SC SET 成绩=80 WHERE (学生证号=‘90876’)AND(课程号=‘01’)
2.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。
SELECT ID FROM table1
WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1)