url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱
5.override与重载的区别
Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数
6..net的错误处理机制是什么
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
7.C#中接口和类的异同
接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。
8.DataReader和DataSet的异同
DataReader和DataSet最大的区别在于,DataReader使用时始终占用
SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发
DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
9.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法 10.在下面的例子里 using System; class A {
public A(){ PrintFields(); }
public virtual void PrintFields(){} }
class B:A {
int x=1; int y;
public B(){ y=-1; }
public override void PrintFields(){ Console.WriteLine(\}
当使用new B()创建B的实例时,产生什么输出?X=1,Y=0
二、C# 部分*
13.以下哪些可以作为接口成员? (多选) ( ABDE ) A.方法B.属性C.字段D.事件E.索引器 F.构造函数G.析构函数
14.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD ) A.使用ref参数,传递到ref参数的参数必须最先初始化。 B.使用out参数,传递到out参数的参数必须最先初始化。 C.使用ref参数,必须将参数作为ref参数显式传递到方法。 D.使用out参数,必须将参数作为out参数显式传递到方法。
15.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?( B )
A.public B.protected C.internal D.protected internal 16.class Class1 {
private static int count = 0; static Class1() {
count++; }
public Class1() {
count++; } }
Class1 o1 = new Class1(); Class1 o2 = new Class1();
请问,o1.Count的值是多少?( C ) A.1 B.2 C.3 D.4 17.abstract class BaseClass {
public virtual void MethodA() { }
public virtual void MethodB() {
} }
class Class1: BaseClass {
public void MethodA(string arg) { }
public override void MethodB() { } }
class Class2: Class1 {
new public void MethodB() { } }
class MainClass {
public static void Main(string[] args) {
Class2 o = new Class2();
Console.WriteLine(o.MethodA()); } }
请问,o.MethodA调用的是: ( A ) A.BaseClass.MethodAB.Class2.MethodA C.Class1.MethodAD.都不是
二 编写SQL语句(5分/题)50
1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 Create table stu (学号 int , 姓名 varchar(8),
年龄 int, 性别 varchar(4), 家庭地址 varchar(50), 联系电话 int );
2) 修改学生表的结构,添加一列信息,学历 Alter table stu add 学历 varchar(6);
3) 修改学生表的结构,删除一列信息,家庭住址 Alter table stu drop column 家庭地址 4) 向学生表添加如下信息: 学号 姓名年龄性别联系电话学历 1A22男123456小学 2B21男119中学 3C23男110高中
4D18女114大学
Insert into stu values(1,?A?,22,?男?,123456,?小学?) Insert into stu values(2,?B?,21,?男?,119,?中学?) Insert into stu values(3,?C?,23,?男?,110,?高中?) Insert into stu values(4,?D?,18,?女?,114,?大学?)
5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
Update stu set 学历=?大专? where 联系电话 like ?11%? 6) 删除学生表的数据,姓名以C开头,性别为?男?的记录删除
Delect from stu where 性别=?男? and 姓名 like ?c%? 7) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来
Select 姓名,学号 from stu where 年龄<22 and 学历=?大专?
8) 查询学生表的数据,查询所有信息,列出前25%的记录