net 面试题


1. 简述 private、 protected、 public、 internal 修饰符的访问权限。

答 . private :   私有成员, 在类的内部才可以访问。

     protected : 保护成员,该类内部和继承类中可以访问。

     public :    公共成员,完全公开,没有访问限制。

     internal:   在同一命名空间内可以访问。



2 .列举ASP.NET 页面之间传递值的几种方式。

答. 1.使用QueryString,  如....?id=1; response. Redirect()....

     2.使用Session变量

    3.使用Server.Transfer

    4.使用Application

   5.使用Cache

   6使用HttpContext的Item属性
  7.使用文件
  8.使用数据库
  9.使用Cookie


3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......  求第30位数是多少, 用递归算法实现。

答:public class MainClass

    {
        public static void Main()  

        {

            Console.WriteLine(Foo(30));

        }

        public static int Foo(int i)

        {
            if (i <= 0)
                return 0;
            else if(i > 0 && i <= 2)
                return 1;
            else return Foo(i -1) + Foo(i - 2);
        }
    }


4.C#中的委托是什么?事件是不是一种委托?

答 :     

 委托可以把一个方法作为参数代入另一个方法。
 委托可以理解为指向一个函数的引用。
 是,是一种特殊的委托



5.override与重载的区别
答 :
 override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
 Override 是进行基类中函数的重写。实现多态。


6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?


答 :
同第2题



7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

答:

      foreach (System.Windows.Forms.Control control in this.Controls)

      {

 if (control is System.Windows.Forms.TextBox)

 {

     System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
     tb.Text = String.Empty ;
 }
      }


 
8.请编程实现一个冒泡排序算法?

答:

        int [] array = new int [*] ;

 int temp = 0 ;

 for (int i = 0 ; i < array.Length - 1 ; i++)

 {

  for (int j = i + 1 ; j < array.Length ; j++)

  {

   if (array[j] < array[i])

   {

    temp = array[i] ;
    array[i] = array[j] ;
    array[j] = temp ;
   }
  }
 }


 


9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?(索引器是对属性的封装,具体查看msdn)


答:不是。可以用任意类型。


 


10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

答:

    int Num = this.TextBox1.Text.ToString() ;

 int Sum = 0 ;

 for (int i = 0 ; i < Num + 1 ; i++)
 {

  if((i%2) == 1)

  {
   Sum += i ;
  }
  else
  {
   Sum = Sum  - I ;
  }
 }


 System.Console.WriteLine(Sum.ToString());


 System.Console.ReadLine() ;


 


11.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?


答:使用MVC模式分层


一般为3层


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


 数据访问层对数据库进行增删查改。


 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。


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


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


缺点:  增加成本。


 


12.在下面的例子里


     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("x={0},y={1}",x,y);


           }


当使用new B()创建B的实例时,产生什么输出?


答:X=1,Y=0;x= 1 y = -1


 


13.什么叫应用程序域?


答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。


 


14.CTS、CLS、CLR分别作何解释?


答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。


 


15.什么是装箱和拆箱?


答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。


 


16.什么是受管制(托管)的代码?


答:


       托管代码是运行.NET 公共语言运行时CLR的代码


unsafe:非托管代码。不经过CLR运行。程序员自行分配和释放内存空间


 


17.什么是强命名程序集?


答:程序集需要经过加密签名,强命名程序集可以部署到全局程序集缓存中,成为公共程序集


 


18.net中读写数据库需要用到那些类?他们的作用?


答:DataSet:数据集。


    DataCommand:执行语句命令。


DataAdapter:数据的集合,用语填充。


DataReader:数据只读器


 


19.ASP.net的身份验证方式有哪些?分别是什么原理?


答:


  Windwos(默认)用IIS控制


From(窗体)用帐户


Passport(密钥)


 


20.什么是Code-Behind技术?


答:代码后置。


 


21.在.net中,配件的意思是?


答:程序集。(中间语言,源数据,资源,装配清单)


 


22.常用的调用WebService的方法有哪些?


答:1.使用WSDL.exe命令行工具。


    2.使用VS.NET中的Add Web Reference菜单选项


 


23..net Remoting 的工作原理是什么?


答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。


 


24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。


答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。


 


25.请详述在dotnet中类(class)与结构(struct)的异同?


答:class可以被实例化,属于引用类型,class可以实现接口和单继承其他类,还可以作为基类型,是分配在内存的堆上的


struct属于值类型,不能作为基类型,但是可以实现接口,是分配在内存的栈上的.


 


26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:


namespace test


{


public delegate void OnDBOperate();


public class UserControlBase : System.Windows.Forms.UserControl


{


 public event OnDBOperate   OnNew


 


privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)


{


if(e.Button.Equals(BtnNew))


{


//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。


}


}


}


答:if( OnNew != null )


    OnNew( this, e );


 


27.分析以下代码,完成填空


string strTmp = "abcdefg某某某";


int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;


int j= strTmp.Length;


以上代码执行完后,i= j=


答:i=13,j=10


 


28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号


答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)


 


29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。


public void test(int i)


{


   lock(this)


 {


   if (i>10)


   {


     i--;


     test(i);


   }


 }


}


答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)


 


30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。


答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。


 


31.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路


答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中。


 


32.给定以下XML文件,完成算法流程图。


<FileSystem>


< DriverC >


<Dir DirName=”MSDOS622”>


<File FileName =” Command.com” ></File>


</Dir>


<File FileName =”MSDOS.SYS” ></File>


<File FileName =” IO.SYS” ></File>


</DriverC>


</FileSystem>


请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。


答:


void FindFile( Directory d )


{


   FileOrFolders = d.GetFileOrFolders();


   foreach( FileOrFolder fof in FileOrFolders )


   {


     if( fof is File )


     You Found a file;


     else if ( fof is Directory )


     FindFile( fof );


    }


}


 


33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。


答:解1:  select top 10 * from A where id not in (select top 30 id from A)


    解2:  select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)


 


34.面向对象的语言具有________性、_________性、________性


答:封装、继承、多态。


 


35.能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。


答:IEnumerable 、 GetEnumerator。


 


36.GC是什么? 为什么要有GC?


答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:


  System.gc()


  Runtime.getRuntime().gc()


 


37.String s = new String("xyz");创建了几个String Object?


答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。


 


38.abstract class和interface有什么区别?


答:


声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。


接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。


 


39.启动一个线程是用run()还是start()?


答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。


 


40.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?


答:接口可以继承接口。


抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。


 


41.构造器(构造函数)Constructor是否可被override?


答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。


 


42.是否可以继承String类?


答:String类是密封类故不可以继承。


 


43.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?


答:会执行,在return前执行。


 


44.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?


答:不对,有相同的hash code。


 


45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?


答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。


 


47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?


不能,一个对象的一个synchronized方法只能由一个线程访问。


 


48.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?


答:都不能。


 


49.List, Set, Map是否继承自Collection接口?


答:List,Set是Map不是


 


50.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?


答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。


equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。


 


51.数组有没有length()这个方法? String有没有length()这个方法?


答:数组没有length()这个方法,有length的属性。String没有length()这个方法,有length属性。


 


52.sleep() 和 wait() 有什么区别?


答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级


(b)正在运行的线程因为其它原因而阻塞。


wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。


 


53.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?


答:short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。


 


54.谈谈final, finally, finalize的区别。


答:


final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此     一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中     不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为     final的方法也同样只能使用,不能重载


finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会     执行,然后控制就会进入 finally 块(如果有的话)。


finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理     工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的     ,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize()      方法是在垃圾收集器删除对象之前对这个对象调用的。


 


55.如何处理几十万条并发数据?


答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.


 


56.Session有什么重大BUG,微软提出了什么方法加以解决?


答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate   server或SQL   Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。


 


57.进程和线程的区别?


答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。


 


58.堆和栈的区别?


答:


    栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。


    堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。


 


59.成员变量和成员函数前加static的作用?


答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。


 


60.ASP。NET与ASP相比,主要有哪些进步?


答:asp解释形,aspx编译型,性能提高,有利于保护源码。


 


61.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。


int[] intArr=new int[100];


ArrayList myList=new ArrayList();


Random rnd=new Random();


while(myList.Count<100)


{


 int num=rnd.Next(1,101);


 if(!myList.Contains(num))


 myList.Add(num);


}


  for(int i=0;i<100;i++)


   intArr[i]=(int)myList[i];


 


62.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。


答:session(viewstate) 简单,但易丢失


    application        全局


    cookie             简单,但可能不支持,可能被伪造


    input ttype="hidden"     简单,可能被伪造


    url参数                  简单,显示于地址栏,长度有限


    数据库                   稳定,安全,但性能相对弱


 


63.请指出GAC的含义?


答:全局程序集缓存。


 


64.向服务器发送请求有几种方式?


答:get,post。get一般为链接方式,post一般为按钮方式。


 


65.DataReader与Dataset有什么区别?


答:一个是只能向前的只读游标,一个是内存中的表。


 


66.软件开发过程一般有几个阶段?每个阶段的作用?


答:可行性分析(风险控制),需求分析,架构设计,代码编写,测试,部署,维护


 


67.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法。


答:using 引入名称空间或者使用非托管资源,使用完对象后自动执行实现了IDisposable接口的类的Dispose方法


    new 新建实例或者隐藏父类方法


 


68.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.


答:string inputStr=" xx   xx  ";


inputStr=Regex.Replace(inputStr.Trim()," *"," ");


 


69.下面这段代码输出什么?为什么?


int i=5;


int j=5;


if (Object.ReferenceEquals(i,j))


Console.WriteLine("Equal");


else


Console.WriteLine("Not Equal");


答:不相等,因为比较的是对象


 


70.什么叫做SQL注入,如何防止?请举例说明。


答:利用sql关键字对网站进行攻击。过滤关键字'等


 


71.什么是反射?


答:动态获取程序集信息


 


72.用Singleton如何写设计模式


答:static属性里面new ,构造函数private


 


73.什么是Application Pool?


答:Web应用,类似Thread Pool,提高并发性能。


 


74.什么是虚函数?什么是抽象函数?


答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。


 


75.什么是XML?


答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。


 


76.什么是Web Service?UDDI?


答:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。


   UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。


 


77.什么是ASP.net中的用户控件?


答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多。


 


78.列举一下你所了解的XML技术及其应用


答:xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config,存储经常使用但是不经常修改的数据


 


79.ADO.net中常用的对象有哪些?分别描述一下。


答:Connection 数据库连接对象


    Command 数据库命令


    DataReader 数据读取器


DataSet 数据集


DataAdaprer数据适配器


 


80.什么是code-Behind技术。


答:ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.


 


81.什么是SOAP,有哪些应用。


答:simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范Web Service使用的协议..


 


82.C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?


答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质


 


83.XML 与 HTML 的主要区别


答:1. XML是区分大小写字母的,HTML不区分。


    2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束       标记。在XML中,绝对不能省略掉结束标记。


    3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用       查找结束标记了。


    4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。


    5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。


 


84.c#中的三元运算符是?


答:?:。


 


85.当整数a赋值给一个object对象时,整数a将会被?


答:装箱。


 


86.类成员有_____种可访问形式?


答:this.;new Class().Method;


 


87.public static const int A=1;这段代码有错误么?是什么?


答:const不能用static修饰。


 


88.float f=-123.567F; int i=(int)f;i的值现在是_____?


答:-123。


 


89.委托声明的关键字是______?


答:delegate.


 


90.用sealed修饰的类有什么特点?


答:密封,不能继承。


 


91.在Asp.net中所有的自定义用户控件都必须继承自________?


答:Control。


 


92.在.Net中所有可序列化的类都被标记为_____?


答:[serializable]


 


93.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?


答:GC。


 


94.下面的代码中有什么错误吗?_______


     using System;


     class A


     {


          public virtual void F(){


              Console.WriteLine("A.F");


           }


      }


      abstract class B:A


       {


           public abstract override void F();  答:abstract override 是不可以一起修饰.


       }                                           // new public abstract void F();


 


95.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。


答:不可以,不可以。


 


96.下面这段代码有错误么?


    switch (i){


    case():        答://case()条件不能为空


        CaseZero();


        break;


    case 1:


        CaseOne();


        break;


    case 2:


        dufault;   答://wrong,格式不正确


        CaseTwo();


        break;


   }


 


97.在.Net中,类System.Web.UI.Page 可以被继承么?


答:可以。


 


98..net的错误处理机制是什么?


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


 


99.利用operator声明且仅声明了==,有什么错误么?


答:要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="


 


100.在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。


答:在form中重载DefWndProc函数来处理消息:


protected override void DefWndProc ( ref System.WinForms.Message m )


{


  switch(m.msg)


  {


    case WM_Lbutton :


   ///string与MFC中的CString的Format函数的使用方法有所不同


   string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);


   MessageBox.Show(message);///显示一个消息框


   break;


    case USER:


    处理的代码


    default:


   base.DefWndProc(ref m);///调用基类函数处理非自定义消息。


   break;


  }


}


 


101.在.net(C# or vb.net)中如何取消一个窗体的关闭。


答:private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)


   {


      e.Cancel=true;


   }


 


102.在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?(winform题目非asp.net题目)


答:一个是退出整个应用程序,一个是关闭其中一个form。


 


103.在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122,235,401.22而在英国则为£10  321.50和£122  235  401.22


答:System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");


    //System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英    国  货币类型


    decimal y = 9999999999999999999999999999m;


    string str = String.Format(MyCulture,"My amount = {0:c}",y);


 


104.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:


(1)       密码单词的最小长度是两个字母,可以相同,也可以不同


(2)       K不可能是单词的第一个字母


(3)       如果L出现,则出现次数不止一次


(4)       M不能使最后一个也不能是倒数第二个字母


(5)       K出现,则N就一定出现


(6)       O如果是最后一个字母,则L一定出现


问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?


  A) K   B)L   C) M    D) N


答案:B


 


问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?


  A)1个  B)3个  C)6个  D)9个


答案:A


 


问题三:下列哪一个是单词密码?


  A) KLLN   B) LOML   C) MLLO   D)NMKO


答案:C


 


8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?


答案:62移动成2的6次方


 


105.对于这样的一个枚举类型:


enum Color:byte


{


  Red,


  Green,


  Blue,


  Orange


}


答:string[] ss=Enum.GetNames(typeof(Color));


    byte[] bb=Enum.GetValues(typeof(Color));


 


106. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?


答:attribute:自定义属性的基类;property :类中的属性


 


107.C#可否对内存进行直接的操作?


答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员  不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的Finalize()方法


 


108.ADO。NET相对于ADO等主要有什么改进?


答:1:ado.net不依赖于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持动态游标和服务器端游 4:,可以断开connection而保留当前数据集可用 5:强类型转换 6:xml支持


 


109.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。


答:<script language=javascript>


 setTimeout('window.close();',3000);


 function show()


 {


  if (window.event.button == 1)


  {


   alert("左");


  }


  else if (window.event.button == 2)


  {


   alert("右");


  }


 }


</script>


 


110.大概描述一下ASP。NET服务器控件的生命周期


答:初始化  加载视图状态  处理回发数据  加载  发送回发更改通知  处理回发事件  预呈现  保存状态  呈现  处置  卸载


 


111.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?


答:不能,可以实现接口


 


112.Static Nested Class 和 Inner Class的不同,说得越多越好


答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。


 


113.,&和&&的区别。


&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).


 


114.HashMap和Hashtable的区别。


答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.


 


115.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?


答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)


short s1 = 1; s1 += 1;(可以正确编译)


 


116.Overloaded的方法是否可以改变返回值的类型?


答:Overloaded的方法是可以改变返回值的类型。


 


117.error和exception有什么区别?


答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。


exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。


 


118.<%# %> 和 <%  %> 有什么区别?


答:<%# %>表示绑定的数据源


    <% %>是服务器端代码块


 


119.你觉得ASP.NET 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到ASP.NET 2.0上 (或者已经内嵌在ASP.NET 2.0中)


答:1  ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.


    2  同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有在分离的代码文件,无       法 在页面嵌入服务器端代码获得帮助提示,


    3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢


    4 在绑定数据,做表的分页.UPDATE,DELETE,等操作都可以可视化操作,方便了初学者


    5 在ASP.NET中增加了40多个新的控件,减少了工作量


 


120.重载与覆盖的区别?


答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系


    2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。


    3、覆盖要求参数列表相同;重载要求参数列表不同。


    4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调       用时的实参表与形参表来选择方法体的。


 


121.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?


答:不是。可以用任意类型。


 


122.在C#中,string str = null 与 string str = " " 请尽量使用文字或图象说明其中的区别。


答:null是没有空间引用的;


    " " 是空间为0的字符串;


 


123.分析以下代码,完成填空


string strTmp = "abcdefg某某某";


int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;


int j= strTmp.Length;


以上代码执行完后,i= j=


答:i=13.j=10


 


124.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号


答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)


 


125.分析以下代码。


public static void test(string ConnectString)


 


{


 


System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();


conn.ConnectionString = ConnectString;


try


 


{


conn.Open();


…….


}


catch(Exception Ex)


{


MessageBox.Show(Ex.ToString());


}


finally


{


 


if (!conn.State.Equals(ConnectionState.Closed))


conn.Close();


}


}


请问


 


1)以上代码可以正确使用连接池吗?


 


答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。


 


2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?


 


答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。)


 


126.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路:


答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中


 


127.什么是WSE?目前最新的版本是多少?


答:WSE (Web Service Extension) 包来提供最新的WEB服务安全保证,目前最新版本2.0。


 


128.在下面的例子里


     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("x={0},y={1}",x,y);


           }


当使用new B()创建B的实例时,产生什么输出?


答:X=1,Y=0


 


129.下面的例子中


 


     using System;


     class A


     {


          public static int X;


          static A(){


               X=B.Y+1;


          }


      }


      class B


      {


           public static int Y=A.X+1;


           static B(){}


           static void Main(){


                Console.WriteLine("X={0},Y={1}",A.X,B.Y);


           }


       }


产生的输出结果是什么?


答:x=1,y=2


 


130.abstract class和interface有什么区别?


答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。


接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。


 


这些是C#,ASP.NET,数据库面试题,全部从网上收集而来,经整理而发表,希望给大家带来帮助,有错误的地方还请各位高手指出,在下倾听指教。


 


 


以下是08年3月新增面试题


1. asp.net中web应用程序获取数据的流程:


A.Web Page B.Fill  C.Sql05  D.Data Sourse  E.DataGrid  F.DataSet  G.Select and Connect




Commands  H.Sql Data Adapter


 


答案:a,e,d,f,h,g,b,c


 


2. Asp.net执行模式中各组件填入到对应位置:


A.Output Cache  B.Parser  C.Assembly Cache  D.IE  E.Memory  F.Compiler


WebPage被第一次请求时:


D->__->__->__->__->D


WebPage被第二次请求时:


D->__->__->D


WebPage的页面输出缓存被打开时:


D->__->D


 


答案:


WebPage被第一次请求时:


D->_b_->_f_->_a_->_e_->D


WebPage被第二次请求时:


D->_b_->_e_->D


WebPage的页面输出缓存被打开时:


D->_a_->D


 


3.两个数组  [n] [m]  n>m  第一个数组的数字无序排列 第二个数组为空 取出第一个数组的最小值 放到第二个数组中第一个位置, 依次类推. 不能改变A数组,不能对之进行排序,也不可以倒到别的数组中。


  int[] a = { -20, 9, 7, 37, 38, 69, 89, -1, 59, 29, 0, -25, 39, 900, 22, 13, 55 };


            int[] b = new int[10];


            int intTmp = a[0], intMaxNum;


            for (int i = 0; i < a.Length; i++)


            {


                intTmp = a[i] > intTmp ? a[i] : intTmp;


            }


            intMaxNum = intTmp;


            for (int j = 0; j < b.Length; j++)


            {


 


                for (int i = 0; i < a.Length; i++)


                {


                    if (j == 0)


                        intTmp = a[i] < intTmp ? a[i] : intTmp;


                    else


                    {


                        if (a[i] > b[j - 1])


                            intTmp = a[i] < intTmp ? a[i] : intTmp;


                    }


                }


                b[j] = intTmp;


                intTmp = intMaxNum;


            }


            foreach (int bb in b)


            {


                Console.WriteLine(bb);


 


            }


            Console.ReadLine();


 


4.请将字符串"I am a student"按单词逆序输出 如"student a am I"


string S = "I am a student";


            char[] C = new char[] { ' '};


            string[] n =S.Split(C);


            int length = S.Length;


            for (int i =length-1 ; i >=0; i--)


            {


                Console.Write(n[i]);


                if (i != 0)


                {


                    Console.Write(" ");


                }


            }

















第1章 窗体与界面设计 11.1 菜单应用实例 2实例001 带历史信息的菜单 2实例002 菜单动态合并 3实例003 像开始菜单一样漂亮的菜单 4实例004 任务栏托盘菜单 5实例005 可以拉伸的菜单界面 5实例006 菜级联菜单 71.2 工具栏设计 7实例007 带背景的工具栏 7实例008 浮动工具栏 8实例009 带下拉菜单的工具栏 9实例010 具有提示功能的工具栏 91.3 状态栏设计 10实例011 在状态栏中显示检查框 10实例012 带进度条的状态栏 11实例013 状态栏中加入图标 121.4 导航菜单界面 12实例014 OutLook界面 12实例015 带导航菜单的主界面 14实例016 图形化的导航界面 151.5 特色程序界面 17实例017 类QQ的程序界面 17实例018 类似Windows Xp的程序界面 18实例019 以图形按钮显示的界面 20实例020 以树形显示的程序界面 21实例021 动态按钮的窗体界面 221.6 特殊形状的窗体 24实例022 非矩形窗体 24实例023 建立字体形状窗体 25实例024 控件随窗体自动调整 26实例025 带分隔栏的窗体 27实例026 随机更换主界面背景 271.7 多媒体光盘 28实例027 自动启动的多媒体光盘程序 28实例028 为触摸屏程序添加虚拟键盘 291.8 窗体效果 30实例029 半透明渐显窗体 31实例030 窗口颜色的渐变 321.9 窗体动画 33实例031 窗体中的滚动字幕 33实例032 动画显示窗体 34实例033 制作闪烁的窗体 35实例034 直接在窗体上绘图 37实例035 动画形式的程序界面 381.10 标题栏窗体 39实例036 使窗体标题栏文字右对齐 39实例037 没有标题栏但可以改变大小的窗口 391.11 设置窗体位置 40实例038 设置窗体在屏幕中的位置 40实例039 始终在最上面的窗体 411.12 设置窗体大小 42实例040 限制窗体大小 42实例041 获取桌面大小 42实例042 在窗口间移动按钮 43实例043 如何实现Office助手 441.13 窗体控制技术 45实例044 在关闭窗口前加入确认对话框 45实例045 使用任意组件拖动窗体 46实例046 修改提示字体及颜色 471.14 其他技术 48实例047 如何为MDI类型窗体设置背景图片 48实例048 向提示框中添加图标 49第2章 控件应用 512.1 TextBox控件应用 52实例049 只允许输入数字的TextBox控件 52实例050 限制用户名称长度及设置密码文本 54实例051 自动删除非法字符 55实例052 为TextBox控件添加列表选择框 572.2 Button控件应用 58实例053 在Button按钮中显示图标 582.3 ComboBox控件应用 59实例054 将数据表中的字段添加到ComboBox控件 59实例055 带查询功能的ComboBox控件 612.4 RichTextBox控件应用 63实例056 利用RichTextBox控件实现文档管理功能 63实例057 利用RichTextBox控件实现文字定位与标识 65实例058 用RichTextBox控件显示图文数据 672.5 ListBox控件应用 68实例059 在ListBox控件间交换数据 68实例060 将数据数据添加到组合框中 70实例061 借助绑定控件实现数据选择录入 71实例062  ListBox拒绝添加重复信息 722.6 选择类控件应用 73实例063 利用选择控件实现权限设置 74实例064 利用选择控件实现复杂查询 762.7 ListView控件应用 78实例065  ListView列表拒绝添加重复信息 78实例066 将数据数据添加到ListView控件 80实例067 用ListView控件制作导航界面 81实例068 在ListView控件中对数据排序或统计 83实例069 在ListView控件中绘制底纹 84实例070 在列表视图中拖动视图项 85实例071 用ListView控件选取整行数据 88实例072 用ListView控件开发登录界面 892.8 TreeView控件应用 91实例073 将数据数据显示到树视图中 91实例074 用TreeView控件制作导航界面 93实例075 用TreeView控件遍历磁盘目录 94实例076 TreeView控件在数据库中的应用 96实例077 带复选框的树状菜单 982.9 其他控件典型应用 100实例078 TrackBar的简单应用 100实例079 SplitContainer的应用 102实例080 MaskedTextBox控件的简单应用 103实例081 制作日历计划任务 105实例082 ImageAnimator类显示动画图片 108实例083 QQ头像列表 1102.10 控件技术 112实例084 程序运行时智能增减控件 112实例085 控制焦点移动 114实例086 动态创建控件 115实例087 在Button按钮上绘图 1162.11 焦点变换与输入控制 117实例088 按回车键焦点在控件中移动的录入窗口 117实例089 程序运行时拖动控件 119实例090 控件得到焦点时变色 120实例091 控件的输入限制 1212.12 特殊控件 122实例092 为控件制作立体效果 122实例093 获取控件名称和内容 124第3章 组件应用 1273.1 BackgroundWorker组件 128实例094  BackgroundWorker组件执行异步操作 1283.2 ErrorProvider组件 130实例095 使用ErrorProvider组件验证文本框输入 130实例096 利用ErrorProvider组件查看数据集中的错误 1323.3 EventLog组件 134实例097 使用EventLog组件读写Windows系统事件日志 134实例098 使用EventLog组件保存Windows系统日志 136实例099 使用EventLog组件向本机现有日志中添加条目 1383.4 FileSystemWatcher组件 140实例100 使用FileSystemWatcher组件监视系统日志文件是否被更改 1403.5 HelpProvider组件 142实例101 使用HelpProvider组件调用帮助文件 1423.6 Process组件 143实例102 使用Process组件访问本地进程 1433.7 Timer组件 145实例103 使用Timer组件制作计时器 145实例104 使用Timer组件显示当前系统时间 150实例105 使用Timer组件制作左右飘动的窗体 151实例106 使用Timer组件实现奥运倒计时 1523.8 ServiceController组件 154实例107 使用ServiceController组件控制计算机的服务 1543.9 ImageList组件 156实例108 使用ImageList组件制作动画图片 1563.10 DirectoryEntry组件 157实例109 使用DirectoryEntry组件建立虚拟目录 158第4章 图形技术 1614.1 绘制图形 162实例110 基本图形绘制 162实例111 在图片中写入文字 163实例112 局部图片的复制 165实例113 波形图的绘制 1664.2 图形转换 168实例114 BMP转换成JPG格式 168实例115 JPG转换成BMP格式 170实例116 位图转化为WMF 171实例117 Ico文件转化为位图 172实例118 图片批量转换工具 1734.3 图像预览 175实例119 局部图像放大 175实例120 浏览大图片 177实例121 剪切图片 178实例122 图像旋转 181实例123 鼠标拖拽图像 1824.4 图形缩放与变换 183实例124 如何放大和缩小图像 183实例125 如何旋转JPG图像 184实例126 如何实现图形翻转 1854.5 图像效果 186实例127 百叶窗效果显示图像 186实例128 推拉效果显示图像 187实例129 水平交错效果显示图像 188实例130 垂直交错效果显示图像 190实例131 图像纹理效果 191实例132 图像浮雕效果 193实例133 积木效果 194实例134 马赛克效果显示图像 1954.6 图像字体 197实例135 旋转的文字 197实例136 当前系统字体列表 198实例137 空心文字 199实例138 如何在图片上平滑移动文字 2014.7 图像动画 202实例139 动画背景窗体 202实例140 随鼠标移动的图像 203实例141 十字光标定位 204实例142 抓取鼠标形状 2064.8 图像识别 207实例143 查看图片的像素 207实例144 获取指定点的RGB值 2074.9 图像工具 208实例145 获取图片类型 208实例146 简单画图程序 209实例147 看图工具 213实例148 文字保存为图片 2154.10 图像应用 215实例149 随机更换壁纸程序 216实例150 屏幕保护 217实例151 模拟石英钟 219实例152 生肖速查 221第5章 多媒体技术 2255.1 CD、VCD播放 226实例153 播放指定的avi-mid-wav文件 226实例154 获取多媒体详细信息列表 2275.2 MP3、WAV播放 228实例155 带记忆功能的MP3播放器 228实例156 自动播放的MP3播放器 231实例157 学校体操定时音乐播放 2335.3 动画播放 234实例158 播放Flash动画 234实例159 制作AVI播放器 236实例160 播放Gif动画 237实例161 利用Image制作小动画 2395.4 媒体控制 240实例162 检测是否安装声卡 240实例163 打开和关闭CDROM 241实例164 控制PC喇叭发声 2425.5 多媒体应用 243实例165 开机祝福程序 243实例166 制作家庭影集 245实例167 产品电子报价 246实例168 产品滚动展示程序 248实例169 将图片资源添加到EXE里 2495.6 屏幕保护相关程序 250实例170 电子相册屏幕保护程序 250实例171 歌曲播放屏幕保护程序 251第6章 文件系统 2536.1 创建和删除文件 254实例172 创建和删除文件夹 254实例173 建立临时文件 255实例174 根据日期动态建立文件 256实例175 清空回收站 2576.2 查找文件 258实例176 搜索文件 259实例177 检查文件是否存在 260实例178 提取指定文件夹目录 2616.3 修改文件 261实例179 更改文件名称 262实例180 修改文件属性 262实例181 修改文件及目录的名字 2646.4 文件目录 265实例182 获得临时文件目录 265实例183 获取应用程序所在目录 266实例184 得到系统当前目录 266实例185 在程序中改变当前路径 2676.5 复制文件 268实例186 移动正在使用的文件 268实例187 批量复制文件 2696.6 指定类型的文件操作 270实例188 文本文件的操作 270实例189 简单的文件加密解密 2716.7 其他 273实例190 获取窗口文本 273实例191 判断文件是否正在被使用 274实例192 在程序中调用.HLP文件 275实例193  C#中实现文件拖放 276实例194 文件比较 276第7章 操作系统与Windows相关程序 2797.1 启动相关 280实例195 进入Windows前发出警告 280实例196 实现注销、关闭和重启计算机 2817.2 获得磁盘属性 284实例197 获得硬盘序列号 284实例198 获取映射驱动器路径 286实例199 判断驱动器类型 2877.3 磁盘相关设置 288实例200 取消磁盘共享 288实例201 检查驱动器容量 289实例202 检测磁盘是否准备好 290实例203 图表显示磁盘容量 291实例204 格式化磁盘 2937.4 系统控制 294实例205 怎样隐藏鼠标 294实例206 允许和禁止用户关机 295实例207 锁定计算机 2967.5 系统设置 297实例208 设置系统输入法 297实例209 设置桌面颜色 298实例210 鼠标交换左右键 2997.6 系统监控 299实例211 检测系统启动模式 300实例212 内存使用状态监控 301实例213 监视剪贴板内容 3027.7 系统软件信息 303实例214 获取用户名 303实例215 获取系统目录 305实例216 注册系统热键 306实例217 获取和修改BIOS计算机名 3077.8 鼠标操作 308实例218 动画鼠标 309实例219 限制鼠标活动区域 310实例220 获取鼠标在任意点的位置 311实例221 判断键盘按下的键值 3117.9 程序控制 312实例222 打开控制面板中的程序 313实例223 添加程序托盘 314实例224 不出现在任务栏上的程序 314实例225 怎样调用外部的Exe文件 315实例226 关闭外部已开启的程序 3167.10 程序运行 317实例227 防止程序多次运行 317实例228 开机后程序自动运行 319实例229 获取任务栏尺寸大小 320实例230 改变系统提示信息 321实例231 获取系统环境变量 322实例232 启动屏幕保护 3237.11 系统隐藏 324实例233 隐藏、显示任务栏 324实例234 隐藏、显示开始按钮 325实例235 查看当前系统版本 326实例236 使桌面图标文字透明 328实例237 检索系统中正在运行的任务 329实例238 列出系统中的打印机 3307.12 其他 332实例239 两种信息发送方式 332实例240 功能快捷键 336第8章 注册表 3398.1 操作注册表 340实例241 怎样存取注册表信息 340实例242 注册表保存注册信息 341实例243 设置“显示 属性”窗体 342实例244 列出注册表指定项下全部键值 3438.2 系 统 设 置 344实例245 隐藏、显示桌面图标 345实例246 隐藏驱动器 345实例247 禁用运行注册表 3478.3 IE浏览器设置 348实例248 修改IE浏览器标题栏内容 348实例249 隐藏IE浏览器的右键关联菜单 349实例250 设置IE浏览器的默认主页 350实例251 禁止修改IE浏览器主页 3518.4 应用软件设置 352实例252 设置Word 2000文档及图片的保存路径 352实例253 限制软件使用次数 353第9章 数据库技术 3559.1 连接Access数据库 356实例254 连接Access数据库 356实例255 连接加密的Access数据库 357实例256 自动识别Access 2000数据库路径 358实例257 连接网络上共享的Access 2000数据库 3609.2 连接SQL Server数据库 361实例258 使用ODBC DSN连接SQL Server数据库 361实例259 使用ODBC非DSN连接SQL Server数据库 364实例260 使用OLE DB连接SQL Server数据库 365实例261 建立SQL Server数据库连接 3669.3 连接其他数据库 367实例262 连接Excel 367实例263 连接Oracle数据库 3689.4 数据库结构的读取与修改 369实例264 读取SQL Server数据库结构 369实例265 修改SQL Server数据库结构 3729.5 数据录入 374实例266 利用数据绑定控件录入数据 374实例267 使用ADO.NET对象录入数据 376实例268 利用SQL语句录入数据 379实例269 利用存储过程录入数据 3809.6 图片存取技术 383实例270 使用存取文件名的方法存取图片 383实例271 使用ADO.NET对象向SQL Server数据库存入图片 3849.7 数据修改 387实例272 利用数据绑定控件修改数据 387实例273 利用数据对象修改数据 390实例274 利用SQL语句修改数据 391实例275 利用存储过程修改数据 3939.8 数据保存前判断 395实例276 判断输入数据是否符合要求 395实例277 通过存储过程实现自动编号 3989.9 数据删除 401实例278 删除表格中指定的记录 401实例279 利用SQL语句删除数据 4029.10 数据记录 403实例280 分页显示信息 403实例281 移动记录 4049.11 数据维护 406实例282 在C#中分离SQL Server数据库 406实例283 在C#中附加SQL Server数据库 407实例284 在C#中附加单文件SQL Server数据库 4099.12 数据备份恢复 410实例285 备份SQL Server数据库 410实例286 还原SQL Server数据库 4139.13 管理系统开发相关 415实例287 开启SQL Server数据库 415实例288 断开SQL Server数据库与其他应用程序的连接 417实例289 带图像列表的系统登录程序 419实例290 利用SQL语句执行外围命令 420实例291 系统初始化 421第10章 SQL查询相关技术 42510.1 SELECT子句 426实例292 查询特定列数据 426实例293 使用列别名 428实例294 在列上加入计算 430实例295 使用函数设置条件 43110.2 查询常量 432实例296 查询数字 433实例297 查询字符串 434实例298 查询日期数据 436实例299 查询逻辑型数据 437实例300 查询空数据 43810.3 查询变量 440实例301 利用变量查询字符串数据 440实例302 利用变量查询数值型数据 441实例303 利用变量查询日期型数据 44210.4 模式查询 444实例304 利用“_”通配符进行查询 444实例305 利用“%”通配符进行查询 445实例306 利用“[]”通配符进行查询 446实例307 利用“[^]”通配符进行查询 448实例308 复杂的模式查询 44910.5 TOP和PERCENT限制查询结果 450实例309 查询前10数据 450实例310 取出数据统计结果的前10数据 451实例311 查询销售量占前50%的图书信息 453实例312 查询库存数量占后20%的图书信息 45410.6 周期、日期查询 455实例313 查询指定日期的数据 455实例314 查询指定时间段的数据 457实例315 按月查询数据 45810.7 比较、逻辑、重复查询 460实例316 查询数据大于指定条件的数据 460实例317 NOT与谓词进行组合条件的查询 461实例318 查询时不显示重复记录 463实例319 列出数据中的重复记录和记录条数 46510.8 在查询中使用OR和AND运算符 466实例320 利用OR运算符进行查询 466实例321 利用AND运算符进行查询 467实例322 同时利用OR、AND运算符进行查询 46910.9 排序、分组统计 471实例323 数据分组统计(单列) 471实例324 在分组查询中使用ALL关键字 473实例325 在分组查询中使用CUBE运算符 475实例326 在分组查询中使用ROLLUP 477实例327 对数据进行降序查询 479实例328 对数据进行多条件排序 480实例329 对统计结果进行排序 482实例330 按仓库分组统计图书库存(多列) 483实例331 多表分组统计 484实例332 使用COMPUTE 485实例333 使用COMPUTE BY 48710.10 聚合函数 488实例334 利用聚合函数SUM对销售额进行汇总 488实例335 利用聚合函数AVG求某班学生的平均年龄 490实例336 利用聚合函数MIN求销售额、利润最少的商品 492实例337 利用聚合函数MAX求月销售额完成最多的员工 493实例338 利用聚合函数COUNT求日销售额大于某值的商品数 495实例339 利用聚合函数First或Last求数据表中第一条或最后一条记录 49610.11 多表查询(连接查询) 498实例340 利用FROM子句进行多表查询 498实例341 使用表别名 499实例342 合并多个结果集 50110.12 嵌套查询 503实例343 简单嵌套查询 503实例344 复杂嵌套查询 504实例345 嵌套查询在查询统计中的应用 50610.13 子查询 508实例346 用子查询做派生的表 508实例347 用子查询作表达式 510实例348 在Update语句中应用子查询 51110.14 联合语句Union 512实例349 使用联合查询 512实例350 多表联合查询 514实例351 对联合查询后的结果进行排序 51510.15 内联接查询 517实例352 简单内联接查询 517实例353 复杂内联接查询 518实例354 使用内联接选择一个表与另一个表中行相关的所有行 51910.16 外联接查询 520实例355 left outer join查询 521实例356 right outer join查询 522实例357 使用外联接进行多表联合查询 52310.17 利用IN进行查询 525实例358 用IN查询表中的记录信息 525实例359 使用IN引入子查询限定查询范围 52610.18 交叉表查询 527实例360 利用Trasform分析数据 527实例361 利用Trasform动态分析数据 529实例362 静态交叉表(SQLServer 2000) 531实例363 动态交叉表(SQLServer 2000) 53310.19 函数查询 535实例364 在查询语句中使用格式化函数 536实例365 在查询语句中使用字符串函数 537实例366 在查询中使用日期函数 53810.20 having语句应用 540实例367 利用having语句过滤分组数据 540实例368 having语句应用在多表查询中 54110.21 视图的应用 543实例369 在C#中应用视图 543实例370 获取数据库中的全部用户视图 544实例371 通过视图修改数据 54510.22 存储过程的应用 546实例372 C#应用存储过程 546实例373 应用存储过程添加数据 547实例374 应用存储过程修改数据 549实例375 应用存储过程删除数据 550实例376 C#应用查询存储过程 551实例377 获取数据库中全部的存储过程 552实例378 加密存储过程 55310.23 触发器的应用 555实例379 Insert触发器的应用 555实例380 Update触发器在系统日志中的应用 556实例381 触发器的嵌套使用 557实例382 获取数据库中的触发器 559第11章 报表与打印技术 56111.1 Windows组件打印 562实例383 打印窗体中的数据 562实例384 图形打印 56411.2 利用报表生成器设计报表 566实例385 利用报表专家设计并显示学生基本信息 566实例386 分组统计报表 569实例387 在水晶报表中添加图表 57111.3 水晶报表基本操作 574实例388 在水晶报表中使用Access数据库 575实例389 在水晶报表中使用SQL Server数据库 576实例390 订货总金额超过10万元显示“恭喜获奖”文字 577实例391 薪资大于或等于1万元使用蓝色字体标记 580实例392 筛选薪资大于2000元的男员工 582实例393 按类别分组统计图书库存 584实例394 按成绩总分降序排序 585实例395 部门销售量占公司总销售量的业绩百分比 58611.4 子报表的使用 588实例396 插入子报表 588实例397 编辑与重新导入子报表 589实例398 根据需要显示子报表 59111.5 调用Office进行打印 593实例399 利用Word打印员工报表 593实例400 利用Excel打印学生信息报表 595第12章 图表技术 59712.1 简单图表 598实例401 绘制坐标系 598实例402 绘制椭圆 599实例403 绘制矩形 601实例404 绘制曲线 60212.2 柱形图表 603实例405 将汇总数据利用图表分析 603实例406 柱形图表分析商品走势 605实例407 对排序数据进行分析 608实例408 利用控件实现柱形图分析 60912.3 折线图表 610实例409 利用图表分析产品销售走势 610实例410 利用图表分析彩票中奖情况 612实例411 多曲线数据分析 614实例412 网站人气指数曲线分析 61712.4 饼型图表 619实例413 利用饼型图分析公司男女比率 619实例414 利用饼型图分析产品市场占有率 620实例415 利用多饼型图分析企业人力资源情况 62112.5 图表技术的应用 623实例416 绘制验证码 623实例417 绘制不规则窗体 625第13章 硬件相关开发技术 62713.1 串口控制 628实例418 通过串口发送数据 628实例419 通过串口关闭对方计算机 63013.2 加密狗 631实例420 密码写入与读出加密狗 631实例421 使用加密狗进行身份验证 63413.3 IC卡应用 635实例422 向IC卡中写入数据 635实例423 读取IC卡中的数据 638实例424 利用IC卡制作考勤程序 63913.4 监控 641实例425 简易视频程序 641实例426 摄像头监控录像 644实例427 超市摄像头定时监控系统 64513.5 语音卡控制 647实例428 语音卡电话呼叫系统 647实例429 客户来电查询系统 652实例430 语音卡实现电话录音 65313.6 手机程序开发 655实例431 利用短信猫收发短信息 655实例432 利用短信远程关闭计算机 659实例433 短信息采集烟草销售数据 660实例434 “春晚”节目评比短信息互动平台 66313.7 其他程序 664实例435 条形码扫描器销售商品 664实例436 利用神龙卡制作练歌房程序 665第14章 网络开发技术 66914.1 计算机设置 670实例437 更改计算机名称 670实例438 通过计算机名获取IP地址 672实例439 通过IP地址获取主机名称 673实例440 修改本机IP地址 674实例441 得到本机MAC地址 677实例442 获得系统打开的端口和状态 678实例443 更改DNS地址 68014.2 远程控制 681实例444 远程控制计算机 682实例445 远程服务控制 68314.3 网络复制文件 686实例446 网络中的文件复制 68614.4 局域网管理 688实例447 在局域网内发送信息 688实例448 获取网络中所有工作组名称 690实例449 列出工作组中所有计算机 692实例450 获取网络中某台计算机的磁盘信息 693实例451 映射网络驱动器 69414.5 网络连接与通信 696实例452 编程实现Ping操作 69614.6 网络聊天室 698实例453 利用C#设计聊天程序 698实例454 编写网络聊天室 700第15章 Web编程 70315.1 浏览器应用 704实例455 制作自己的网络浏览软件 704实例456 XML数据库文档的浏览 70815.2 上网控制 710实例457 定时上Internet 710实例458 监测当前网络连接状态 71215.3 邮件管理 713实例459 收取电子邮件 713实例460 SMTP协议发送电子邮件 71715.4 网上信息提取 719实例461 提取并保存网页源码 719实例462 提取网页标题 722第16章 加密、安全与软件注册 72516.1 数据加密与解密 726实例463 数据加密技术 726实例464 文本文件加密与解密 727实例465 利用图片加密文件 73216.2 Access数据库安全 735实例466 如何编程修复Access数据库 735实例467 访问带验证模式的Sqlserver 2000数据库 73716.3 软件注册与加密 739实例468 利用INI文件对软件进行注册 739实例469 利用注册表设计软件注册程序 741实例470 利用网卡序列号设计软件注册程序 743实例471 根据cpu序列号、磁盘序列号设计软件注册程序 746第17章 数据结构与算法 74917.1 链表的实现 750实例472 单向链表的实现 75017.2 双向链表 755实例473 双向链表 75517.3 堆栈 760实例474 堆栈的实现 76017.4 队列 762实例475 队列的实现 76317.5 树的实现 764实例476 树的实现 76417.6 排序 769实例477 冒泡排序 769实例478 选择排序 770实例479 插入排序 771实例480 希尔排序 77217.7 常见算法的实际应用 773实例481 判断素数的算法 773实例482 加密和解密算法 774实例483 判断身份证是否合法 775实例484 判断IP地址是否合法的算法 777实例485 按要求生成指定位数编号 778实例486 身份证号从15位升到18位算法 779第18章 C#高级开发 78118.1 Windows服务开发 782实例487 将局域网聊天程序开发成Windows服务 78218.2 Remoting分布式开发 789实例488 运用Remoting实现文件传送 789实例489 大规模数据访问时缓解服务器压力 79618.3 COM+服务开发 802实例490 COM+服务实现银行转账系统 803实例491 COM+服务解决同时访问大量数据并发性 807第19章 实用工具 81319.1 数据库工具 814实例492 自动配置ODBC的程序 814实例493 制作SQL Server提取器 81719.2 个人工具 819实例494 个人通讯录 819实例495 电子名片盒 822实例496 个人日记本 823实例497 个人理财管理 82519.3 实用工具 827实例498 电话区号、邮编管理软件 827实例499 火车时刻查询软件 828实例500 网站网址导航程序 83219.4 其他工具 833实例501 人民币金额转换 834实例502 列举局域网SQL服务器 836实例503 整点报时程序 837实例504 红绿灯程序 839实例505 万年历 841实例506 彩票抽奖机 844实例507 电子相册 846第20章 程序打包 84920.1 最简单的程序打包 850实例508 最简单的程序打包 850实例509 将特定文件安装到指定文件夹中 85220.2 打包注册表信息 854实例510 打包注册表信息 854技术要点对应实例位置 857 第1章 窗体与界面设计 11.1 菜单应用实例 2实例001 带历史信息的菜单 2实例002 菜单动态合并 3实例003 像开始菜单一样漂亮的菜单 4实例004 任务栏托盘菜单 5实例005 可以拉伸的菜单界面 5实例006 菜级联菜单 71.2 工具栏设计 7实例007 带背景的工具栏 7实例008 浮动工具栏 8实例009 带下拉菜单的工具栏 9实例010 具有提示功能的工具栏 91.3 状态栏设计 10实例011 在状态栏中显示检查框 10实例012 带进度条的状态栏 11实例013 状态栏中加入图标 121.4 导航菜单界面 12实例014 OutLook界面 12实例015 带导航菜单的主界面 14实例016 图形化的导航界面 151.5 特色程序界面 17实例017 类QQ的程序界面 17实例018 类似Windows Xp的程序界面 18实例019 以图形按钮显示的界面 20实例020 以树形显示的程序界面 21实例021 动态按钮的窗体界面 221.6 特殊形状的窗体 24实例022 非矩形窗体 24实例023 建立字体形状窗体 25实例024 控件随窗体自动调整 26实例025 带分隔栏的窗体 27实例026 随机更换主界面背景 271.7 多媒体光盘 28实例027 自动启动的多媒体光盘程序 28实例028 为触摸屏程序添加虚拟键盘 291.8 窗体效果 30实例029 半透明渐显窗体 31实例030 窗口颜色的渐变 321.9 窗体动画 33实例031 窗体中的滚动字幕 33实例032 动画显示窗体 34实例033 制作闪烁的窗体 35实例034 直接在窗体上绘图 37实例035 动画形式的程序界面 381.10 标题栏窗体 39实例036 使窗体标题栏文字右对齐 39实例037 没有标题栏但可以改变大小的窗口 391.11 设置窗体位置 40实例038 设置窗体在屏幕中的位置 40实例039 始终在最上面的窗体 411.12 设置窗体大小 42实例040 限制窗体大小 42实例041 获取桌面大小 42实例042 在窗口间移动按钮 43实例043 如何实现Office助手 441.13 窗体控制技术 45实例044 在关闭窗口前加入确认对话框 45实例045 使用任意组件拖动窗体 46实例046 修改提示字体及颜色 471.14 其他技术 48实例047 如何为MDI类型窗体设置背景图片 48实例048 向提示框中添加图标 49第2章 控件应用 512.1 TextBox控件应用 52实例049 只允许输入数字的TextBox控件 52实例050 限制用户名称长度及设置密码文本 54实例051 自动删除非法字符 55实例052 为TextBox控件添加列表选择框 572.2 Button控件应用 58实例053 在Button按钮中显示图标 582.3 ComboBox控件应用 59实例054 将数据表中的字段添加到ComboBox控件 59实例055 带查询功能的ComboBox控件 612.4 RichTextBox控件应用 63实例056 利用RichTextBox控件实现文档管理功能 63实例057 利用RichTextBox控件实现文字定位与标识 65实例058 用RichTextBox控件显示图文数据 672.5 ListBox控件应用 68实例059 在ListBox控件间交换数据 68实例060 将数据数据添加到组合框中 70实例061 借助绑定控件实现数据选择录入 71实例062  ListBox拒绝添加重复信息 722.6 选择类控件应用 73实例063 利用选择控件实现权限设置 74实例064 利用选择控件实现复杂查询 762.7 ListView控件应用 78实例065  ListView列表拒绝添加重复信息 78实例066 将数据数据添加到ListView控件 80实例067 用ListView控件制作导航界面 81实例068 在ListView控件中对数据排序或统计 83实例069 在ListView控件中绘制底纹 84实例070 在列表视图中拖动视图项 85实例071 用ListView控件选取整行数据 88实例072 用ListView控件开发登录界面 892.8 TreeView控件应用 91实例073 将数据数据显示到树视图中 91实例074 用TreeView控件制作导航界面 93实例075 用TreeView控件遍历磁盘目录 94实例076 TreeView控件在数据库中的应用 96实例077 带复选框的树状菜单 982.9 其他控件典型应用 100实例078 TrackBar的简单应用 100实例079 SplitContainer的应用 102实例080 MaskedTextBox控件的简单应用 103实例081 制作日历计划任务 105实例082 ImageAnimator类显示动画图片 108实例083 QQ头像列表 1102.10 控件技术 112实例084 程序运行时智能增减控件 112实例085 控制焦点移动 114实例086 动态创建控件 115实例087 在Button按钮上绘图 1162.11 焦点变换与输入控制 117实例088 按回车键焦点在控件中移动的录入窗口 117实例089 程序运行时拖动控件 119实例090 控件得到焦点时变色 120实例091 控件的输入限制 1212.12 特殊控件 122实例092 为控件制作立体效果 122实例093 获取控件名称和内容 124第3章 组件应用 1273.1 BackgroundWorker组件 128实例094  BackgroundWorker组件执行异步操作 1283.2 ErrorProvider组件 130实例095 使用ErrorProvider组件验证文本框输入 130实例096 利用ErrorProvider组件查看数据集中的错误 1323.3 EventLog组件 134实例097 使用EventLog组件读写Windows系统事件日志 134实例098 使用EventLog组件保存Windows系统日志 136实例099 使用EventLog组件向本机现有日志中添加条目 1383.4 FileSystemWatcher组件 140实例100 使用FileSystemWatcher组件监视系统日志文件是否被更改 1403.5 HelpProvider组件 142实例101 使用HelpProvider组件调用帮助文件 1423.6 Process组件 143实例102 使用Process组件访问本地进程 1433.7 Timer组件 145实例103 使用Timer组件制作计时器 145实例104 使用Timer组件显示当前系统时间 150实例105 使用Timer组件制作左右飘动的窗体 151实例106 使用Timer组件实现奥运倒计时 1523.8 ServiceController组件 154实例107 使用ServiceController组件控制计算机的服务 1543.9 ImageList组件 156实例108 使用ImageList组件制作动画图片 1563.10 DirectoryEntry组件 157实例109 使用DirectoryEntry组件建立虚拟目录 158第4章 图形技术 1614.1 绘制图形 162实例110 基本图形绘制 162实例111 在图片中写入文字 163实例112 局部图片的复制 165实例113 波形图的绘制 1664.2 图形转换 168实例114 BMP转换成JPG格式 168实例115 JPG转换成BMP格式 170实例116 位图转化为WMF 171实例117 Ico文件转化为位图 172实例118 图片批量转换工具 1734.3 图像预览 175实例119 局部图像放大 175实例120 浏览大图片 177实例121 剪切图片 178实例122 图像旋转 181实例123 鼠标拖拽图像 1824.4 图形缩放与变换 183实例124 如何放大和缩小图像 183实例125 如何旋转JPG图像 184实例126 如何实现图形翻转 1854.5 图像效果 186实例127 百叶窗效果显示图像 186实例128 推拉效果显示图像 187实例129 水平交错效果显示图像 188实例130 垂直交错效果显示图像 190实例131 图像纹理效果 191实例132 图像浮雕效果 193实例133 积木效果 194实例134 马赛克效果显示图像 1954.6 图像字体 197实例135 旋转的文字 197实例136 当前系统字体列表 198实例137 空心文字 199实例138 如何在图片上平滑移动文字 2014.7 图像动画 202实例139 动画背景窗体 202实例140 随鼠标移动的图像 203实例141 十字光标定位 204实例142 抓取鼠标形状 2064.8 图像识别 207实例143 查看图片的像素 207实例144 获取指定点的RGB值 2074.9 图像工具 208实例145 获取图片类型 208实例146 简单画图程序 209实例147 看图工具 213实例148 文字保存为图片 2154.10 图像应用 215实例149 随机更换壁纸程序 216实例150 屏幕保护 217实例151 模拟石英钟 219实例152 生肖速查 221第5章 多媒体技术 2255.1 CD、VCD播放 226实例153 播放指定的avi-mid-wav文件 226实例154 获取多媒体详细信息列表 2275.2 MP3、WAV播放 228实例155 带记忆功能的MP3播放器 228实例156 自动播放的MP3播放器 231实例157 学校体操定时音乐播放 2335.3 动画播放 234实例158 播放Flash动画 234实例159 制作AVI播放器 236实例160 播放Gif动画 237实例161 利用Image制作小动画 2395.4 媒体控制 240实例162 检测是否安装声卡 240实例163 打开和关闭CDROM 241实例164 控制PC喇叭发声 2425.5 多媒体应用 243实例165 开机祝福程序 243实例166 制作家庭影集 245实例167 产品电子报价 246实例168 产品滚动展示程序 248实例169 将图片资源添加到EXE里 2495.6 屏幕保护相关程序 250实例170 电子相册屏幕保护程序 250实例171 歌曲播放屏幕保护程序 251第6章 文件系统 2536.1 创建和删除文件 254实例172 创建和删除文件夹 254实例173 建立临时文件 255实例174 根据日期动态建立文件 256实例175 清空回收站 2576.2 查找文件 258实例176 搜索文件 259实例177 检查文件是否存在 260实例178 提取指定文件夹目录 2616.3 修改文件 261实例179 更改文件名称 262实例180 修改文件属性 262实例181 修改文件及目录的名字 2646.4 文件目录 265实例182 获得临时文件目录 265实例183 获取应用程序所在目录 266实例184 得到系统当前目录 266实例185 在程序中改变当前路径 2676.5 复制文件 268实例186 移动正在使用的文件 268实例187 批量复制文件 2696.6 指定类型的文件操作 270实例188 文本文件的操作 270实例189 简单的文件加密解密 2716.7 其他 273实例190 获取窗口文本 273实例191 判断文件是否正在被使用 274实例192 在程序中调用.HLP文件 275实例193  C#中实现文件拖放 276实例194 文件比较 276第7章 操作系统与Windows相关程序 2797.1 启动相关 280实例195 进入Windows前发出警告 280实例196 实现注销、关闭和重启计算机 2817.2 获得磁盘属性 284实例197 获得硬盘序列号 284实例198 获取映射驱动器路径 286实例199 判断驱动器类型 2877.3 磁盘相关设置 288实例200 取消磁盘共享 288实例201 检查驱动器容量 289实例202 检测磁盘是否准备好 290实例203 图表显示磁盘容量 291实例204 格式化磁盘 2937.4 系统控制 294实例205 怎样隐藏鼠标 294实例206 允许和禁止用户关机 295实例207 锁定计算机 2967.5 系统设置 297实例208 设置系统输入法 297实例209 设置桌面颜色 298实例210 鼠标交换左右键 2997.6 系统监控 299实例211 检测系统启动模式 300实例212 内存使用状态监控 301实例213 监视剪贴板内容 3027.7 系统软件信息 303实例214 获取用户名 303实例215 获取系统目录 305实例216 注册系统热键 306实例217 获取和修改BIOS计算机名 3077.8 鼠标操作 308实例218 动画鼠标 309实例219 限制鼠标活动区域 310实例220 获取鼠标在任意点的位置 311实例221 判断键盘按下的键值 3117.9 程序控制 312实例222 打开控制面板中的程序 313实例223 添加程序托盘 314实例224 不出现在任务栏上的程序 314实例225 怎样调用外部的Exe文件 315实例226 关闭外部已开启的程序 3167.10 程序运行 317实例227 防止程序多次运行 317实例228 开机后程序自动运行 319实例229 获取任务栏尺寸大小 320实例230 改变系统提示信息 321实例231 获取系统环境变量 322实例232 启动屏幕保护 3237.11 系统隐藏 324实例233 隐藏、显示任务栏 324实例234 隐藏、显示开始按钮 325实例235 查看当前系统版本 326实例236 使桌面图标文字透明 328实例237 检索系统中正在运行的任务 329实例238 列出系统中的打印机 3307.12 其他 332实例239 两种信息发送方式 332实例240 功能快捷键 336第8章 注册表 3398.1 操作注册表 340实例241 怎样存取注册表信息 340实例242 注册表保存注册信息 341实例243 设置“显示 属性”窗体 342实例244 列出注册表指定项下全部键值 3438.2 系 统 设 置 344实例245 隐藏、显示桌面图标 345实例246 隐藏驱动器 345实例247 禁用运行注册表 3478.3 IE浏览器设置 348实例248 修改IE浏览器标题栏内容 348实例249 隐藏IE浏览器的右键关联菜单 349实例250 设置IE浏览器的默认主页 350实例251 禁止修改IE浏览器主页 3518.4 应用软件设置 352实例252 设置Word 2000文档及图片的保存路径 352实例253 限制软件使用次数 353第9章 数据库技术 3559.1 连接Access数据库 356实例254 连接Access数据库 356实例255 连接加密的Access数据库 357实例256 自动识别Access 2000数据库路径 358实例257 连接网络上共享的Access 2000数据库 3609.2 连接SQL Server数据库 361实例258 使用ODBC DSN连接SQL Server数据库 361实例259 使用ODBC非DSN连接SQL Server数据库 364实例260 使用OLE DB连接SQL Server数据库 365实例261 建立SQL Server数据库连接 3669.3 连接其他数据库 367实例262 连接Excel 367实例263 连接Oracle数据库 3689.4 数据库结构的读取与修改 369实例264 读取SQL Server数据库结构 369实例265 修改SQL Server数据库结构 3729.5 数据录入 374实例266 利用数据绑定控件录入数据 374实例267 使用ADO.NET对象录入数据 376实例268 利用SQL语句录入数据 379实例269 利用存储过程录入数据 3809.6 图片存取技术 383实例270 使用存取文件名的方法存取图片 383实例271 使用ADO.NET对象向SQL Server数据库存入图片 3849.7 数据修改 387实例272 利用数据绑定控件修改数据 387实例273 利用数据对象修改数据 390实例274 利用SQL语句修改数据 391实例275 利用存储过程修改数据 3939.8 数据保存前判断 395实例276 判断输入数据是否符合要求 395实例277 通过存储过程实现自动编号 3989.9 数据删除 401实例278 删除表格中指定的记录 401实例279 利用SQL语句删除数据 4029.10 数据记录 403实例280 分页显示信息 403实例281 移动记录 4049.11 数据维护 406实例282 在C#中分离SQL Server数据库 406实例283 在C#中附加SQL Server数据库 407实例284 在C#中附加单文件SQL Server数据库 4099.12 数据备份恢复 410实例285 备份SQL Server数据库 410实例286 还原SQL Server数据库 4139.13 管理系统开发相关 415实例287 开启SQL Server数据库 415实例288 断开SQL Server数据库与其他应用程序的连接 417实例289 带图像列表的系统登录程序 419实例290 利用SQL语句执行外围命令 420实例291 系统初始化 421第10章 SQL查询相关技术 42510.1 SELECT子句 426实例292 查询特定列数据 426实例293 使用列别名 428实例294 在列上加入计算 430实例295 使用函数设置条件 43110.2 查询常量 432实例296 查询数字 433实例297 查询字符串 434实例298 查询日期数据 436实例299 查询逻辑型数据 437实例300 查询空数据 43810.3 查询变量 440实例301 利用变量查询字符串数据 440实例302 利用变量查询数值型数据 441实例303 利用变量查询日期型数据 44210.4 模式查询 444实例304 利用“_”通配符进行查询 444实例305 利用“%”通配符进行查询 445实例306 利用“[]”通配符进行查询 446实例307 利用“[^]”通配符进行查询 448实例308 复杂的模式查询 44910.5 TOP和PERCENT限制查询结果 450实例309 查询前10数据 450实例310 取出数据统计结果的前10数据 451实例311 查询销售量占前50%的图书信息 453实例312 查询库存数量占后20%的图书信息 45410.6 周期、日期查询 455实例313 查询指定日期的数据 455实例314 查询指定时间段的数据 457实例315 按月查询数据 45810.7 比较、逻辑、重复查询 460实例316 查询数据大于指定条件的数据 460实例317 NOT与谓词进行组合条件的查询 461实例318 查询时不显示重复记录 463实例319 列出数据中的重复记录和记录条数 46510.8 在查询中使用OR和AND运算符 466实例320 利用OR运算符进行查询 466实例321 利用AND运算符进行查询 467实例322 同时利用OR、AND运算符进行查询 46910.9 排序、分组统计 471实例323 数据分组统计(单列) 471实例324 在分组查询中使用ALL关键字 473实例325 在分组查询中使用CUBE运算符 475实例326 在分组查询中使用ROLLUP 477实例327 对数据进行降序查询 479实例328 对数据进行多条件排序 480实例329 对统计结果进行排序 482实例330 按仓库分组统计图书库存(多列) 483实例331 多表分组统计 484实例332 使用COMPUTE 485实例333 使用COMPUTE BY 48710.10 聚合函数 488实例334 利用聚合函数SUM对销售额进行汇总 488实例335 利用聚合函数AVG求某班学生的平均年龄 490实例336 利用聚合函数MIN求销售额、利润最少的商品 492实例337 利用聚合函数MAX求月销售额完成最多的员工 493实例338 利用聚合函数COUNT求日销售额大于某值的商品数 495实例339 利用聚合函数First或Last求数据表中第一条或最后一条记录 49610.11 多表查询(连接查询) 498实例340 利用FROM子句进行多表查询 498实例341 使用表别名 499实例342 合并多个结果集 50110.12 嵌套查询 503实例343 简单嵌套查询 503实例344 复杂嵌套查询 504实例345 嵌套查询在查询统计中的应用 50610.13 子查询 508实例346 用子查询做派生的表 508实例347 用子查询作表达式 510实例348 在Update语句中应用子查询 51110.14 联合语句Union 512实例349 使用联合查询 512实例350 多表联合查询 514实例351 对联合查询后的结果进行排序 51510.15 内联接查询 517实例352 简单内联接查询 517实例353 复杂内联接查询 518实例354 使用内联接选择一个表与另一个表中行相关的所有行 51910.16 外联接查询 520实例355 left outer join查询 521实例356 right outer join查询 522实例357 使用外联接进行多表联合查询 52310.17 利用IN进行查询 525实例358 用IN查询表中的记录信息 525实例359 使用IN引入子查询限定查询范围 52610.18 交叉表查询 527实例360 利用Trasform分析数据 527实例361 利用Trasform动态分析数据 529实例362 静态交叉表(SQLServer 2000) 531实例363 动态交叉表(SQLServer 2000) 53310.19 函数查询 535实例364 在查询语句中使用格式化函数 536实例365 在查询语句中使用字符串函数 537实例366 在查询中使用日期函数 53810.20 having语句应用 540实例367 利用having语句过滤分组数据 540实例368 having语句应用在多表查询中 54110.21 视图的应用 543实例369 在C#中应用视图 543实例370 获取数据库中的全部用户视图 544实例371 通过视图修改数据 54510.22 存储过程的应用 546实例372 C#应用存储过程 546实例373 应用存储过程添加数据 547实例374 应用存储过程修改数据 549实例375 应用存储过程删除数据 550实例376 C#应用查询存储过程 551实例377 获取数据库中全部的存储过程 552实例378 加密存储过程 55310.23 触发器的应用 555实例379 Insert触发器的应用 555实例380 Update触发器在系统日志中的应用 556实例381 触发器的嵌套使用 557实例382 获取数据库中的触发器 559第11章 报表与打印技术 56111.1 Windows组件打印 562实例383 打印窗体中的数据 562实例384 图形打印 56411.2 利用报表生成器设计报表 566实例385 利用报表专家设计并显示学生基本信息 566实例386 分组统计报表 569实例387 在水晶报表中添加图表 57111.3 水晶报表基本操作 574实例388 在水晶报表中使用Access数据库 575实例389 在水晶报表中使用SQL Server数据库 576实例390 订货总金额超过10万元显示“恭喜获奖”文字 577实例391 薪资大于或等于1万元使用蓝色字体标记 580实例392 筛选薪资大于2000元的男员工 582实例393 按类别分组统计图书库存 584实例394 按成绩总分降序排序 585实例395 部门销售量占公司总销售量的业绩百分比 58611.4 子报表的使用 588实例396 插入子报表 588实例397 编辑与重新导入子报表 589实例398 根据需要显示子报表 59111.5 调用Office进行打印 593实例399 利用Word打印员工报表 593实例400 利用Excel打印学生信息报表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值