·¢²¼ÐÂÈÕÖ¾

  • Êý¾Ý¿âÁ½ÕűíµÄ±È½Ï

    2009-03-30 11:23:44

    ÔÚijЩÇé¿öÏ£¬ÎÒÃÇ»áÐèÒª±È½ÏÁ½ÕűíµÄÊý¾ÝÊÇ·ñÒ»Ñù¡£

    ¡¡¡¡¼ÙÉèÓÐÁ½ÕűíAÓë±íBËüÃǵÄ×Ö¶ÎÏàͬ£¬µ«Êǵ±ÖеÄÊý¾Ý¿ÉÄܲ»Í¬£¬¶øÇÒÓÐЩ×ֶεÄÊý¾Ý»¹ÓпÉÄÜΪ¿Õ¡£

    ¡¡¡¡·½·¨Ò»(ÊÖ¶¯)£º°ÑÐèÒª±È½ÏµÄÁ½ÕűíµÄÊý¾Ý°´ÕÕijÖÖ¹æÔòÅÅÐòºóµ¼³öΪxls,ÕâÀïÎÒÖ±½ÓÓÃPL/SQL Developerµ¼³ö¡£

    ¡¡¡¡È»ºóÓðÑxlsÎļþת»»³ÉtxtÎļþ£¬ÕâÀïÎÒÓõÄÊÇbatconvת»»¹«Ê½¡£

    ¡¡¡¡ÏÖÔÚÎÒÃǾÍÓÐÁËÁ½¸ötxtÎļþ¡£

    ¡¡¡¡È»ºóÓÃbeyond compareÎļþ±È½ÏÆ÷±È½ÏÄÚÈÝ¡£

    ¡¡¡¡Óŵ㣺Êý¾Ý²îÒìһĿÁËÈ»£¬È±µã£º±È½Ï·Ñʱ¡£

    ¡¡¡¡·½·¨¶þ(ͨ¹ýSqlÓï¾äÀ´±È½Ï)£º

    ¡¡¡¡´´½¨±íµÄÓï¾ä£º

    create table formula(
    ¡¡¡¡id varchar2(50) primary key--×Ô¶¯Éú³ÉµÄ£¬Î¨Ò»µÄ¡£
    ¡¡¡¡formulaName varchar2(50),
    ¡¡¡¡formulaContent varchar2(2000),
    ¡¡¡¡formulaType varchar2(20),
    ¡¡¡¡)

    ¡¡¡¡µ±Öгýid²»Îª¿Õ£¬ÆäËüÈýÏî¾ù¿ÉÄÜΪ¿Õ¡£

    ¡¡¡¡Ò»°ãÇé¿öÏÂÎÒÃÇ¿ÉÒÔÓÃ

    select * from formula A where not exists (select * from formula B where A.formulaName=
    ¡¡¡¡B.formulaName and A.formulaContent=B.formulaContent and A.formulaType=B.formulaType)

    ¡¡¡¡ÔÚoracle Çé¿öÏÂÈç¹ûÁ½ÕűíµÄij¸ö×ֶζ¼ÎªnullÔòÆäͨ¹ýA.*=B.*ÊDZȽϲ»³öÀ´µÄ¡£

    ¡¡¡¡Òò´ËÒª¶îÍâ¼ÓÉÏÕâÑùµÄÅжÏ

    or(A.formulaContent is null and B.formulaContent is null) or
    ¡¡¡¡(A.fomrulaName is null and B.fomrulaName is null) or (A.formulaType is null and B.fomrulaType is null)

    ¡¡¡¡Í¨¹ýÉÏÃæÕâ¸ösqlÓï¾äÎÒÃǾͿÉÒÔÕÒÔÚA±íÖдæÔÚ£¬µ«ÔÚB±íÖв»´æÔÚµÄÊý¾Ý

    ¡¡¡¡·´¹ýÀ´¿ÉÒÔ²éѯÔÚB±íÖдæÔÚ£¬µ«ÔÚA±íÖв»´æÔÚµÄÊý¾Ý¡£

    ¡¡¡¡ÈôÁ½¸ö²éѯ¶¼Îª¿Õ£¬Ôò˵Ã÷Á½ÕűíµÄÏàÓ¦×Ö¶ÎÍêÈ«Ïàͬ¡£

    ¡¡¡¡ÈôÕâÁ½ÕűíÔÚ²»Í¬µÄÊý¾Ý¿â£¬ÔòҪͨ¹ý½¨Á¢DBLink¡£

    ¡¡¡¡Óŵ㣺Êý¾Ý±È½Ï¿ì£¬ÌرðÊÇÔÚÊý¾ÝÁ¿±È½Ï´óµÄÊý¾ÝÓÅÊƸü¼ÓÃ÷ÏÔ£¬

    ¡¡¡¡È±µã£º±È½Ïʱ²»Äܺܿ쿴³öÁ½ÕűíµÄ²îÒì¡£ÒòΪ²éѯµÄÖ»Êǵ±ÖеÄijһÕÅ±í¡£

  • ´æ´¢¹ý³Ì³£Óü¼ÇÉ

    2009-03-30 10:52:36

    ×÷ÕߣºÔ¬¹â¶«
    ÎÒÃÇÔÚ½øÐÐpl/sql±à³Ìʱ´ò½»µÀ×î¶àµÄ¾ÍÊÇ´æ´¢¹ý³ÌÁË¡£´æ´¢¹ý³ÌµÄ½á¹¹ÊǷdz£µÄ¼òµ¥µÄ£¬ÎÒÃÇÔÚÕâÀï³ýÁËѧϰ´æ´¢¹ý³ÌµÄ»ù±¾½á¹¹Í⣬»¹»áѧϰ±àд´æ´¢¹ý³ÌʱÏà¹ØµÄһЩʵÓõÄ֪ʶ¡£È磺ÓαêµÄ´¦Àí£¬Òì³£µÄ´¦Àí£¬¼¯ºÏµÄÑ¡ÔñµÈµÈ

    1.´æ´¢¹ý³Ì½á¹¹
    1.1 µÚÒ»¸ö´æ´¢¹ý³Ì
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proc1(   
    2.   p_para1 varchar2,   
    3.   p_para2 out varchar2,   
    4.   p_para3 in out varchar2   
    5. )as    
    6.  v_name varchar2(20);   
    7. begin   
    8.   v_name := 'ÕÅÈý·á';   
    9.   p_para3 := v_name;   
    10.   dbms_output.put_line('p_para3:'||p_para3);   
    11. end;  


    ÉÏÃæ¾ÍÊÇÒ»¸ö×î¼òµ¥µÄ´æ´¢¹ý³Ì¡£Ò»¸ö´æ´¢¹ý³Ì´óÌå·ÖΪÕâô¼¸¸ö²¿·Ö:
    ´´½¨Óï¾ä£ºcreate or replace procedure ´æ´¢¹ý³ÌÃû
    Èç¹ûûÓÐor replaceÓï¾ä£¬Ôò½ö½öÊÇн¨Ò»¸ö´æ´¢¹ý³Ì¡£Èç¹ûϵͳ´æÔڸô洢¹ý³Ì£¬Ôò»á±¨´í¡£Create or replace procedure Èç¹ûϵͳÖÐûÓд˴洢¹ý³Ì¾Íн¨Ò»¸ö£¬Èç¹ûϵͳÖÐÓд˴洢¹ý³ÌÔò°ÑÔ­À´É¾³ýµô£¬ÖØд´½¨Ò»¸ö´æ´¢¹ý³Ì¡£
    ´æ´¢¹ý³ÌÃû¶¨Ò壺°üÀ¨´æ´¢¹ý³ÌÃûºÍ²ÎÊýÁÐ±í¡£²ÎÊýÃûºÍ²ÎÊýÀàÐÍ¡£²ÎÊýÃû²»ÄÜÖظ´£¬ ²ÎÊý´«µÝ·½Ê½:IN, OUT, IN OUT
    IN ±íʾÊäÈë²ÎÊý£¬°´Öµ´«µÝ·½Ê½¡£
    OUT ±íʾÊä³ö²ÎÊý£¬¿ÉÒÔÀí½âΪ°´ÒýÓô«µÝ·½Ê½¡£¿ÉÒÔ×÷Ϊ´æ´¢¹ý³ÌµÄÊä³ö½á¹û£¬¹©Íⲿµ÷ÓÃÕßʹÓá£
    IN OUT ¼´¿É×÷ÊäÈë²ÎÊý£¬Ò²¿É×÷Êä³ö²ÎÊý¡£
    ²ÎÊýµÄÊý¾ÝÀàÐÍÖ»ÐèÒªÖ¸Ã÷ÀàÐÍÃû¼´¿É£¬²»ÐèÒªÖ¸¶¨¿í¶È¡£
    ²ÎÊýµÄ¿í¶ÈÓÉÍⲿµ÷ÓÃÕß¾ö¶¨¡£
    ¹ý³Ì¿ÉÒÔÓвÎÊý£¬Ò²¿ÉÒÔûÓвÎÊý
    ±äÁ¿ÉùÃ÷¿é£º½ô¸ú×ŵÄas (is )¹Ø¼ü×Ö£¬¿ÉÒÔÀí½âΪpl/sqlµÄdeclare¹Ø¼ü×Ö£¬ÓÃÓÚÉùÃ÷±äÁ¿¡£
    ±äÁ¿ÉùÃ÷¿éÓÃÓÚÉùÃ÷¸Ã´æ´¢¹ý³ÌÐèÒªÓõ½µÄ±äÁ¿£¬ËüµÄ×÷ÓÃÓòΪ¸Ã´æ´¢¹ý³Ì¡£ÁíÍâÕâÀïÉùÃ÷µÄ±äÁ¿±ØÐëÖ¸¶¨¿í¶È¡£×ñÑ­PL/SQLµÄ±äÁ¿ÉùÃ÷¹æ·¶¡£
    ¹ý³ÌÓï¾ä¿é£º´Óbegin ¹Ø¼ü×Ö¿ªÊ¼Îª¹ý³ÌµÄÓï¾ä¿é¡£´æ´¢¹ý³ÌµÄ¾ßÌåÂß¼­ÔÚÕâÀïÀ´ÊµÏÖ¡£
    Òì³£´¦Àí¿é£º¹Ø¼ü×ÖΪexception £¬Îª´¦ÀíÓï¾ä²úÉúµÄÒì³£¡£¸Ã²¿·ÖΪ¿ÉÑ¡
    ½áÊø¿é£ºÓÉend¹Ø¼ü×Ö½á¹û¡£

    1.2 ´æ´¢¹ý³ÌµÄ²ÎÊý´«µÝ·½Ê½
    ´æ´¢¹ý³ÌµÄ²ÎÊý´«µÝÓÐÈýÖÖ·½Ê½:IN,OUT,IN OUT .
    IN °´Öµ´«µÝ£¬²¢ÇÒËü²»ÔÊÐíÔÚ´æ´¢¹ý³ÌÖб»ÖØи³Öµ¡£Èç¹û´æ´¢¹ý³ÌµÄ²ÎÊýûÓÐÖ¸¶¨´æ²ÎÊý´«µÝÀàÐÍ£¬Ä¬ÈÏΪIN
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proc1(   
    2.   p_para1 varchar2,   
    3.   p_para2 out varchar2,   
    4.   p_para3 in out varchar2   
    5. )as    
    6.  v_name varchar2(20);   
    7. begin   
    8.   p_para1 :='aaa';   
    9.   p_para2 :='bbb';   
    10.   v_name := 'ÕÅÈý·á';   
    11.   p_para3 := v_name;   
    12.   dbms_output.put_line('p_para3:'||p_para3);   
    13.   null;   
    14. end;   
    15.        
    16. Warning: Procedure created with compilation errors   
    17.   
    18. SQL> show error;   
    19. Errors for PROCEDURE LIFEMAN.PROC1:   
    20.   
    21. LINE/COL ERROR   
    22. -------- ----------------------------------------------------------------------   
    23. 8/3      PLS-00363: expression 'P_PARA1' cannot be used as an assignment target   
    24. 8/3      PL/SQL: Statement ignored  
    ÕâÒ»µãÓëÆäËü¸ß¼¶ÓïÑÔ¶¼²»Í¬¡£ËüÏ൱ÓÚjavaÔÚ²ÎÊýÇ°Ãæ¼ÓÉÏfinal¹Ø¼ü×Ö¡£


    OUT ²ÎÊý£º×÷ΪÊä³ö²ÎÊý£¬ÐèҪעÒ⣬µ±Ò»¸ö²ÎÊý±»Ö¸¶¨ÎªOUTÀàÐÍʱ£¬¾ÍËãÔÚµ÷Óô洢¹ý³Ì֮ǰ¶Ô¸Ã²ÎÊý½øÐÐÁ˸³Öµ£¬ÔÚ´æ´¢¹ý³ÌÖиòÎÊýµÄÖµÈÔÈ»ÊÇnull.
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proc1(   
    2.   p_para1 varchar2,   
    3.   p_para2 out varchar2,   
    4.   p_para3 in out varchar2   
    5. )as    
    6.  v_name varchar2(20);   
    7. begin   
    8.   v_name := 'ÕÅÈý·á';   
    9.   p_para3 := v_name;   
    10.   dbms_output.put_line('p_para1:'||p_para1);   
    11.   dbms_output.put_line('p_para2:'||p_para2);   
    12.   dbms_output.put_line('p_para3:'||p_para3);   
    13. end;   
    14.   
    15. SQL> var p1 varchar2(10);   
    16. SQL> var p2 varchar2(10);   
    17. SQL> var p3 varchar2(10);   
    18. SQL> exec :p1 :='aaaa';   
    19. SQL> exec :p2 :='bbbb';   
    20. SQL> exec :p3 :='cccc';   
    21. SQL> exec proc1(:p1,:p2,:p3);   
    22. p_para1:aaaa   
    23. p_para2:   
    24. p_para3:ÕÅÈý·á   
    25. SQL> exec dbms_output.put_line(:p2);   
    26.   
    27.   
    28. PL/SQL procedure successfully completed   
    29. p2   
    30. ---------  

    INOUT ÊÇÕæÕýµÄ°´ÒýÓô«µÝ²ÎÊý¡£¼´¿É×÷Ϊ´«Èë²ÎÊýÒ²¿ÉÒÔ×÷Ϊ´«³ö²ÎÊý¡£

    Java´úÂë ¸´ÖÆ´úÂë
    1. 1.3 ´æ´¢¹ý³Ì²ÎÊý¿í¶È   
    2. create or replace procedure proc1(   
    3.   p_para1 varchar2,   
    4.   p_para2 out varchar2,   
    5.   p_para3 in out varchar2   
    6. )as    
    7.  v_name varchar2(2);   
    8. begin   
    9.   v_name := p_para1;   
    10. end;   
    11.   
    12. SQL> var p1 varchar2(10);   
    13. SQL> var p2 varchar2(20);   
    14. SQL> var p3 varchar2(30);   
    15. SQL> exec :p1 :='aaaaaa';   
    16. SQL> exec proc1(:p1,:p2,:p3);   
    17.        
    18.        
    19. ORA-06502: PL/SQL: numeric or value error: character string buffer too small   
    20. ORA-06512: at "LIFEMAN.PROC1", line 8  
    21. ORA-06512: at line 1  

    Ê×ÏÈ£¬ÎÒÃÇÒªÃ÷°×£¬ÎÒÃÇÎÞ·¨ÔÚ´æ´¢¹ý³ÌµÄ¶¨ÒåÖÐÖ¸¶¨´æ´¢²ÎÊýµÄ¿í¶È£¬Ò²¾Íµ¼ÖÂÁËÎÒÃÇÎÞ·¨ÔÚ´æ´¢¹ý³ÌÖпØÖÆ´«Èë±äÁ¿µÄ¿í¶È¡£Õâ¸ö¿í¶ÈÊÇÍêÈ«ÓÉÍⲿ´«Èëʱ¾ö¶¨µÄ¡£
    ÎÒÃÇÔÙÀ´¿´¿´OUTÀàÐ͵IJÎÊýµÄ¿í¶È¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proc1(   
    2.   p_para1 varchar2,   
    3.   p_para2 out varchar2,   
    4.   p_para3 in out varchar2   
    5. )as    
    6.  v_name varchar2(2);   
    7. begin   
    8.   p_para2 :='aaaaaaaaaaaaaaaaaaaa';   
    9. end;   
    10. SQL> var p1 varchar2(1);   
    11. SQL> var p2 varchar2(1);   
    12. SQL> var p3 varchar2(1);   
    13. SQL> exec :p2 :='a';   
    14. SQL> exec proc1(:p1,:p2,:p3);  
    Ôڸùý³ÌÖУ¬p_para2±»¸³ÓèÁË20¸ö×Ö·ûa.
    ¶øÔÚÍⲿµÄµ÷Óùý³ÌÖУ¬p2Õâ¸ö²ÎÊý½ö½ö±»¶¨ÒåΪvarchar2(1).
    ¶ø°Ñp2×÷Ϊ²ÎÊýµ÷ÓÃÕâ¸ö¹ý³Ì£¬È´²¢Ã»Óб¨´í¡£¶øÇÒËüµÄÕæʵֵ¾ÍÊÇ20¸öa
    Java´úÂë ¸´ÖÆ´úÂë
    1. SQL> select dump(:p2) from dual;   
    2. DUMP(:P2)   
    3. ---------------------------------------------------------------------------   
    4. Typ=1 Len=2097,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97  
    5. p2   
    6. ---------   
    7. aaaaaaaaaaaaaaaaaaaa   
    8.        
    9.     ÔÙÀ´¿´¿´IN OUT²ÎÊýµÄ¿í¶È   
    10. create or replace procedure proc1(   
    11.   p_para1 varchar2,   
    12.   p_para2 out varchar2,   
    13.   p_para3 in out varchar2   
    14. )as    
    15.  v_name varchar2(2);   
    16. begin   
    17.   p_para3 :='aaaaaaaaaaaaaaaaaaaa';   
    18. end;   
    19.   
    20. SQL> var p1 varchar2(1);   
    21. SQL> var p2 varchar2(1);   
    22. SQL> var p3 varchar2(1);   
    23. SQL> exec proc1(:p1,:p2,:p3);  
    Ö´ÐÐÕâ¸ö¹ý³Ì£¬ÈÔÈ»ÕýÈ·Ö´ÐС£

    ¿É¼û£¬¶ÔÓÚIN²ÎÊý£¬Æä¿í¶ÈÊÇÓÉÍⲿ¾ö¶¨¡£
    ¶ÔÓÚOUT ºÍIN OUT ²ÎÊý£¬Æä¿í¶ÈÊÇÓÉ´æ´¢¹ý³ÌÄÚ²¿¾ö¶¨¡£
    Òò´Ë£¬ÔÚд´æ´¢¹ý³Ìʱ£¬¶Ô²ÎÊýµÄ¿í¶È½øÐÐ˵Ã÷ÊǷdz£ÓбØÒªµÄ£¬×îÃ÷Öǵķ½·¨¾ÍÊDzÎÊýµÄÊý¾ÝÀàÐÍʹÓÃ%type¡£ÕâÑùË«·½¾Í´ï³ÉÁËÒ»Ö¡£

    1.3 ²ÎÊýµÄĬÈÏÖµ
    ´æ´¢¹ý³ÌµÄ²ÎÊý¿ÉÒÔÉèÖÃĬÈÏÖµ
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procdefault(p1 varchar2,   
    2.                                         p2 varchar2 default 'mark')   
    3. as    
    4. begin   
    5.   dbms_output.put_line(p2);   
    6. end;   
    7.   
    8. SQL> set serveroutput on;   
    9. SQL> exec procdefault('a');  
    mark
    ¿ÉÒÔͨ¹ýdefault ¹Ø¼ü×ÖΪ´æ´¢¹ý³ÌµÄ²ÎÊýÖ¸¶¨Ä¬ÈÏÖµ¡£ÔÚ¶Ô´æ´¢¹ý³Ìµ÷ÓÃʱ£¬¾Í¿ÉÒÔÊ¡ÂÔĬÈÏÖµ¡£
    ÐèҪעÒâµÄÊÇ£ºÄ¬ÈÏÖµ½ö½öÖ§³ÖIN´«ÊäÀàÐ͵IJÎÊý¡£OUT ºÍ IN OUT²»ÄÜÖ¸¶¨Ä¬ÈÏÖµ

    ¶ÔÓÚÓÐĬÈÏÖµµÄ²ÎÊý²»ÊÇÅÅÔÚ×îºóµÄÇé¿ö¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procdefault2(p1 varchar2 default 'remark',   
    2.                                         p2 varchar2 )   
    3. as    
    4. begin   
    5.   dbms_output.put_line(p1);   
    6. end;  
    µÚÒ»¸ö²ÎÊýÓÐĬÈÏÖµ£¬µÚ¶þ¸ö²ÎÊýûÓС£Èç¹ûÎÒÃÇÏëʹÓõÚÒ»¸ö²ÎÊýµÄĬÈÏֵʱ
    exec procdefault2('aa');
    ÕâÑùÊǻᱨ´íµÄ¡£
    ÄÇÔõô±äÄØ£¿¿ÉÒÔÖ¸¶¨²ÎÊýµÄÖµ¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. SQL> exec procdefault2(p2 =>'aa');  

    remark
    ÕâÑù¾ÍOKÁË£¬Ö¸¶¨aa´«¸ø²ÎÊýp2


    2. ´æ´¢¹ý³ÌÄÚ²¿¿é
    2.1 ÄÚ²¿¿é
    ÎÒÃÇÖªµÀÁË´æ´¢¹ý³ÌµÄ½á¹¹£¬Óï¾ä¿éÓÉbegin¿ªÊ¼£¬ÒÔend½áÊø¡£ÕâЩ¿éÊÇ¿ÉÒÔǶÌס£ÔÚÓï¾ä¿éÖпÉÒÔǶÌ×ÈκÎÒÔϵĿ顣
    Java´úÂë ¸´ÖÆ´úÂë
    1. Declare ¡­ begin ¡­ exception ¡­ end;   
    2. create or replace procedure innerBlock(p1 varchar2)   
    3. as    
    4.   o1 varchar2(10) := 'out1';   
    5. begin   
    6.   dbms_output.put_line(o1);   
    7.   declare    
    8.     inner1 varchar2(20);   
    9.   begin   
    10.     inner1 :='inner1';   
    11.     dbms_output.put_line(inner1);   
    12.   
    13.     declare    
    14.       inner2 varchar2(20);   
    15.     begin   
    16.       inner2 := 'inner2';   
    17.       dbms_output.put_line(inner2);   
    18.     end;   
    19.   exception    
    20.     when others then   
    21.       null;   
    22.   end;   
    23. end;  
    ÐèҪעÒâ±äÁ¿µÄ×÷ÓÃÓò¡£

    3.´æ´¢¹ý³ÌµÄ³£Óü¼ÇÉ
    3.1 ÄÄÖÖ¼¯ºÏ?
    ÎÒÃÇÔÚʹÓô洢¹ý³ÌµÄʱºò¾­³£ÐèÒª´¦Àí¼Ç¼¼¯£¬Ò²¾ÍÊǶàÌõÊý¾Ý¼Ç¼¡£·ÖΪµ¥ÁжàÐкͶàÁжàÐУ¬ÕâЩÀàÐͶ¼¿ÉÒÔ³ÆΪ¼¯ºÏÀàÐÍ¡£ÎÒÃÇÔÚÕâÀï½øÐбȽÏÕâЩ¼¯ºÏÀàÐÍ£¬ÒÔ±ãÓÚÔÚ±à³Ìʱ×ö³öÕýÈ·µÄÑ¡Ôñ¡£
    Ë÷Òý±í,Ò²³ÆΪpl/sql±í£¬²»ÄÜ´æ´¢ÓÚÊý¾Ý¿âÖУ¬ÔªËصĸöÊýûÓÐÏÞÖÆ,ϱê¿ÉÒÔΪ¸ºÖµ¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. type t_table is table of varchar2(20) index by binary_integer;   
    2.  v_student t_table;  
    varchar2(20)±íʾ´æ·ÅÔªËصÄÊý¾ÝÀàÐÍ£¬binary_integer±íʾԪËØϱêµÄÊý¾ÝÀàÐÍ¡£
    ǶÌ×±í£¬Ë÷Òý±íûÓÐ index by×Ó¾ä¾ÍÊÇǶÌ×±í£¬Ëü¿ÉÒÔ´æ·ÅÓÚÊý¾ÝÖУ¬ÔªËظöÊýÎÞÏÞ£¬Ï±ê´Ó1¿ªÊ¼£¬²¢ÇÒÐèÒª³õʼ»¯
    Java´úÂë ¸´ÖÆ´úÂë
    1. type t_nestTable is table of varchar2(20);   
    2. v_class t_nestTable ;  
    ½öÊÇÕâÑùÉùÃ÷ÊDz»ÄÜʹÓõģ¬±ØÐë¶ÔǶÌ×±í½øÐгõʼ»¯£¬¶ÔǶÌ×±í½øÐгõʼ»¯¿ÉÒÔʹÓÃËüµÄ¹¹Ô캯Êý
    Java´úÂë ¸´ÖÆ´úÂë
    1. v_class :=t_nestTable('a','b','c');  
    ±ä³¤Êý×飬±ä³¤Êý×éÓë¸ß¼¶ÓïÑÔµÄÊý×éÀàÐͷdz£ÏàËÆ£¬Ï±êÒÔ1¿ªÊ¼£¬ÔªËظöÊýÓÐÏÞ¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. type t_array is varray (20) of varchar2(20);  

    varray(20)¾Í¶¨ÒåÁ˱䳤Êý×éµÄ×î´óÔªËظöÊýÊÇ20¸ö
    ±ä³¤Êý×éÓëǶÌ×±íÒ»Ñù£¬Ò²¿ÉÒÔÊÇÊý¾Ý±íÁеÄÊý¾ÝÀàÐÍ¡£
    ͬʱ£¬±ä³¤Êý×éµÄʹÓÃÒ²ÐèÒªÊÂÏȳõʼ»¯¡£

    ÀàÐÍ ¿É´æ´¢ÓÚÊý¾Ý¿â ÔªËظöÊý ÊÇ·ñÐè³õʼ»¯ ³õʼϱêÖµ
    Ë÷Òý±í ·ñ ÎÞÏÞ ²»Ðè
    ǶÌ×±í ¿É ÎÞÏÞ Ðè 1
    ¿É±äÊý×é ¿É ÓÐÏÞ(×Ô¶¨Òå) Ðè 1

    Óɴ˿ɼû£¬Èç¹û½ö½öÊÇÔÚ´æ´¢¹ý³ÌÖе±×÷¼¯ºÏ±äÁ¿Ê¹Óã¬Ë÷Òý±íÊÇ×îºÃµÄÑ¡Ôñ¡£

    3.2 Ñ¡ÓúÎÖÖÓαê?
    ÏÔʾÓαê·ÖΪ£ºÆÕͨÓα꣬²ÎÊý»¯ÓαêºÍÓαê±äÁ¿ÈýÖÖ¡£
    ÏÂÃæÒÔÒ»¸ö¹ý³ÌÀ´½øÐÐ˵Ã÷
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proccursor(p varchar2)   
    2. as    
    3. v_rownum number(10) := 1;   
    4. cursor c_postype is select pos_type from pos_type_tbl where rownum =1;   
    5. cursor c_postype1 is select pos_type from pos_type_tbl where rownum = v_rownum;   
    6. cursor c_postype2(p_rownum number) is select pos_type from pos_type_tbl where rownum = p_rownum;   
    7. type t_postype is ref cursor ;   
    8. c_postype3 t_postype;   
    9. v_postype varchar2(20);   
    10. begin   
    11.   open c_postype;   
    12.   fetch c_postype into v_postype;   
    13.   dbms_output.put_line(v_postype);   
    14.   close c_postype;   
    15.   open c_postype1;   
    16.   fetch c_postype1 into v_postype;   
    17.   dbms_output.put_line(v_postype);   
    18.   close c_postype1;   
    19.   open c_postype2(1);   
    20.   fetch c_postype2 into v_postype;   
    21.   dbms_output.put_line(v_postype);   
    22.   close c_postype2;   
    23.   open c_postype3 for select pos_type from pos_type_tbl where rownum =1;   
    24.   fetch c_postype3 into v_postype;   
    25.   dbms_output.put_line(v_postype);   
    26.   close c_postype3;   
    27. end;  

    cursor c_postype is select pos_type from pos_type_tbl where rownum =1
    ÕâÒ»¾äÊǶ¨ÒåÁËÒ»¸ö×îÆÕͨµÄÓα꣬°ÑÕû¸ö²éѯÒѾ­Ð´ËÀ,µ÷ÓÃʱ²»¿ÉÒÔ×÷Èκθı䡣
    cursor c_postype1 is select pos_type from pos_type_tbl where rownum = v_rownum;
    ÕâÒ»¾ä²¢Ã»ÓÐдËÀ£¬²éѯ²ÎÊýÓɱäÁ¿v_rownumÀ´¾ö¶¨¡£ÐèҪעÒâµÄÊÇv_rownum±ØÐëÔÚÕâ¸öÓα궨Òå֮ǰÉùÃ÷¡£
    cursor c_postype2(p_rownum number) is select pos_type from pos_type_tbl where rownum = p_rownum;
    ÕâÒ»ÌõÓï¾äÓëµÚ¶þÌõ×÷ÓÃÏàËÆ£¬¶¼ÊÇ¿ÉÒÔΪÓαêʵÏÖ¶¯Ì¬µÄ²éѯ¡£µ«ÊÇËü½øÒ»²½µÄËõСÁ˲ÎÊýµÄ×÷ÓÃÓò·¶Î§¡£µ«ÊǿɶÁÐÔ½µµÍÁ˲»ÉÙ¡£
    type t_postype is ref cursor ;
    c_postype3 t_postype;
    Ïȶ¨ÒåÁËÒ»¸öÒýÓÃÓαêÀàÐÍ£¬È»ºóÔÙÉùÃ÷ÁËÒ»¸öÓαê±äÁ¿¡£
    open c_postype3 for select pos_type from pos_type_tbl where rownum =1;
    È»ºóÔÙÓÃopen for À´´ò¿ªÒ»¸ö²éѯ¡£ÐèҪעÒâµÄÊÇËü¿ÉÒÔ¶à´ÎʹÓÃ,ÓÃÀ´´ò¿ª²»Í¬µÄ²éѯ¡£
    ´Ó¶¯Ì¬ÐÔÀ´Ëµ£¬Óαê±äÁ¿ÊÇ×îºÃÓõģ¬µ«ÊÇÔĶÁÐÔÒ²ÊÇ×î²îµÄ¡£
    ×¢Ò⣬ÓαêµÄ¶¨ÒåÖ»ÄÜÓÃʹ¹Ø¼ü×ÖIS£¬ËüÓëAS²»Í¨Óá£

    3.3 ÓαêÑ­»·×î¼Ñ²ßÂÔ
    ÎÒÃÇÔÚ½øÐÐPL/SQL±à³Ìʱ£¬¾­³£ÐèҪѭ»·¶ÁÈ¡½á¹û¼¯µÄÊý¾Ý¡£½øÐÐÖðÐд¦Àí£¬Õâ¸ö¹ý³Ì¾ÍÐèÒª¶ÔÓαê½øÐÐÑ­»·¡£¶ÔÓαê½øÐÐÑ­»·µÄ·½·¨ÓжàÖÖ£¬ÎÒÃÇÔÚ´ËÒ»Ò»·ÖÎö¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure proccycle(p varchar2)   
    2. as    
    3. cursor c_postype is select pos_type, description from pos_type_tbl where rownum < 6;   
    4. v_postype varchar2(20);   
    5. v_description varchar2(50);   
    6. begin   
    7. open c_postype;   
    8.   if c_postype%found then   
    9.     dbms_output.put_line('found true');   
    10.   elsif c_postype%found = false then   
    11.     dbms_output.put_line('found false');   
    12.   else  
    13.     dbms_output.put_line('found null');   
    14.   end if;   
    15.   loop   
    16.    fetch c_postype into v_postype,v_description ;   
    17.    exit when c_postype%notfound;   
    18.    dbms_output.put_line('postype:'||v_postype||',description:'||v_description);   
    19.   end loop;   
    20.   close c_postype;   
    21. dbms_output.put_line('---loop end---');   
    22.   open c_postype;   
    23.     fetch c_postype into v_postype,v_description;   
    24.     while c_postype%found loop   
    25.       dbms_output.put_line('postype:'||v_postype||',description:'||v_description);   
    26.       fetch c_postype into v_postype,v_description ;   
    27.     end loop;   
    28.   
    29.   close c_postype;   
    30. dbms_output.put_line('---while end---');   
    31.   for v_pos in c_postype loop   
    32.     v_postype := v_pos.pos_type;   
    33.     v_description := v_pos.description;   
    34.     dbms_output.put_line('postype:'||v_postype||',description:'||v_description);   
    35.   end loop;   
    36.   dbms_output.put_line('---for end---');   
    37. end;  

    ʹÓÃÓαê֮ǰÐèÒª¿ª´òÓαê,open cursor£¬Ñ­»·ÍêºóÔٹرÕÓαêclose cursor.
    ÕâÊÇʹÓÃÓαêÓ¦¸ÃÉ÷¼ÇÓÚÐĵķ¨Ôò¡£
    ÉÏÃæµÄ¹ý³ÌÑÝʾÁËÓαêÑ­»·µÄÈýÖÖ·½·¨¡£
    ÔÚÌÖÂÛÑ­»··½·¨Ö®Ç°£¬ÎÒÃÇÏÈ¿´¿´%foundºÍ%notfoundÕâЩÓαêµÄÊôÐÔ¡£

    Java´úÂë ¸´ÖÆ´úÂë
    1. open c_postype;   
    2.  if c_postype%found then   
    3.    dbms_output.put_line('found true');   
    4.  elsif c_postype%found = false then   
    5.    dbms_output.put_line('found false');   
    6.  else  
    7.    dbms_output.put_line('found null');   
    8.  end if;  
    ÔÚ´ò¿ªÒ»¸öÓαêÖ®ºó£¬ÂíÉϼì²éËüµÄ%found»ò%notfoundÊôÐÔ£¬ËüµÃµ½µÄ½á¹û¼´²»ÊÇtrueÒ²²»ÊÇfalse.¶øÊÇnull.±ØÐëÖ´ÐÐÒ»ÌõfetchÓï¾äºó£¬ÕâЩÊôÐÔ²ÅÓÐÖµ¡£

    µÚÒ»ÖÖʹÓÃloop Ñ­»·
    Java´úÂë ¸´ÖÆ´úÂë
    1. loop   
    2.    fetch c_postype into v_postype,v_description ;   
    3.    exit when c_postype%notfound;   
    4.    ¡­¡­   
    5. end loop  
    ÕâÀïÐèҪעÒ⣬exit whenÓï¾äÒ»¶¨Òª½ô¸úÔÚfetchÖ®ºó¡£±Ø±ÜÃâ¶àÓàµÄÊý¾Ý´¦Àí¡£
    ´¦ÀíÂß¼­ÐèÒª¸úÔÚexit whenÖ®ºó¡£ÕâÒ»µãÐèÒª¶à¼ÓСÐÄ¡£
    Ñ­»·½áÊøºóÒª¼ÇµÃ¹Ø±ÕÓαꡣ

    µÚ¶þÖÖʹÓÃwhileÑ­»·¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1.    fetch c_postype into v_postype,v_description;   
    2. while c_postype%found loop   
    3.    ¡­¡­   
    4.       fetch c_postype into v_postype,v_description ;   
    5. end loop;  

    ÎÒÃÇÖªµÀÁËÒ»¸öÓαê´ò¿ªºó£¬±ØÐëÖ´ÐÐÒ»´ÎfetchÓï¾ä£¬ÓαêµÄÊôÐԲŻáÆð×÷Óá£ËùÒÔʹÓÃwhile Ñ­»·Ê±£¬¾ÍÐèÒªÔÚÑ­»·Ö®Ç°½øÐÐÒ»´Îfetch¶¯×÷¡£
    ¶øÇÒÊý¾Ý´¦Àí¶¯×÷±ØÐë·ÅÔÚÑ­»·ÌåÄÚµÄfetch·½·¨Ö®Ç°¡£Ñ­»·ÌåÄÚµÄfetch·½·¨Òª·ÅÔÚ×îºó¡£·ñÔò¾Í»á¶à´¦ÀíÒ»´Î¡£ÕâÒ»µãÒ²Òª·Ç³£µÄСÐÄ¡£
    ×ÜÖ®£¬Ê¹ÓÃwhileÀ´Ñ­»·´¦ÀíÓαêÊÇ×Ôӵķ½·¨¡£

    µÚÈýÖÖ forÑ­»·
    Java´úÂë ¸´ÖÆ´úÂë
    1. for v_pos in c_postype loop   
    2.    v_postype := v_pos.pos_type;   
    3.    v_description := v_pos.description;   
    4.    ¡­   
    5.  end loop;  
    ¿É¼ûforÑ­»·ÊDZȽϼòµ¥ÊµÓõķ½·¨¡£
    Ê×ÏÈ£¬Ëü»á×Ô¶¯openºÍcloseÓαꡣ½â¾öÁËÄãÍü¼Ç´ò¿ª»ò¹Ø±ÕÓαêµÄ·³ÄÕ¡£
    ÆäËü,×Ô¶¯¶¨ÒåÁËÒ»¸ö¼Ç¼ÀàÐͼ°ÉùÃ÷¸ÃÀàÐ͵ıäÁ¿£¬²¢×Ô¶¯fetchÊý¾Ýµ½Õâ¸ö±äÁ¿ÖС£
    ÎÒÃÇÐèҪעÒâv_pos Õâ¸ö±äÁ¿ÎÞÐèÒªÔÚÑ­»·Íâ½øÐÐÉùÃ÷£¬ÎÞÐèҪΪÆäÖ¸¶¨Êý¾ÝÀàÐÍ¡£
    ËüÓ¦¸ÃÊÇÒ»¸ö¼Ç¼ÀàÐÍ£¬¾ßÌåµÄ½á¹¹ÊÇÓÉÓαê¾ö¶¨µÄ¡£
    Õâ¸ö±äÁ¿µÄ×÷ÓÃÓò½ö½öÊÇÔÚÑ­»·ÌåÄÚ¡£
    °Ñv_pos¿´×÷Ò»¸ö¼Ç¼±äÁ¿¾Í¿ÉÒÔÁË£¬Èç¹ûÒª»ñµÃijһ¸öÖµ¾ÍÏñµ÷ÓüǼһÑù¾Í¿ÉÒÔÁË¡£
    Èçv_pos.pos_type
    Óɴ˿ɼû£¬forÑ­»·ÊÇÓÃÀ´Ñ­»·ÓαêµÄ×îºÃ·½·¨¡£¸ßЧ£¬¼ò½à£¬°²È«¡£
    µ«Òź¶µÄÊÇ£¬³£³£¼ûµ½µÄÈ´ÊǵÚÒ»ÖÖ·½·¨¡£ËùÒÔ´Ó½ñÖ®ºóµÃ¸Ä±äÕâ¸öÏ°¹ßÁË¡£

    3.4 select into²»¿ÉºõÊÓµÄÎÊÌâ
    ÎÒÃÇÖªµÀÔÚpl/sqlÖÐÒªÏë´ÓÊý¾Ý±íÖÐÏò±äÁ¿¸³Öµ£¬ÐèҪʹÓÃselect into ×Ӿ䡣
    µ«ÊÇËü»á´ø¶¯À´Ò»Ð©ÎÊÌ⣬Èç¹û²éѯûÓмǼʱ£¬»áÅ׳öno_data_foundÒì³£¡£
    Èç¹ûÓжàÌõ¼Ç¼ʱ£¬»áÅ׳ötoo_many_rowsÒì³£¡£
    Õâ¸öÊDZȽÏÔã¸âµÄ¡£Ò»µ©Å׳öÁËÒì³££¬¾Í»áÈùý³ÌÖжϡ£ÌرðÊÇno_data_foundÕâÖÖÒì³££¬Ã»ÓÐÑÏÖص½ÒªÈóÌÐòÖжϵĵز½£¬¿ÉÒÔÍêÈ«½»¸øÓɳÌÐò½øÐд¦Àí¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procexception(p varchar2)   
    2. as    
    3.   v_postype varchar2(20);   
    4. begin   
    5.    select pos_type into v_postype from pos_type_tbl where 1=0;   
    6.     dbms_output.put_line(v_postype);   
    7. end;   
    8.       
    Ö´ÐÐÕâ¸ö¹ý³Ì
    Java´úÂë ¸´ÖÆ´úÂë
    1. SQL> exec procexception('a');   
    2. ±¨´í   
    3. ORA-01403: no data found   
    4. ORA-06512: at "LIFEMAN.PROCEXCEPTION", line 6  
    5. ORA-06512: at line 1  

    ´¦ÀíÕâ¸öÓÐÈý¸ö°ì·¨
    1£® Ö±½Ó¼ÓÉÏÒì³£´¦Àí¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procexception(p varchar2)   
    2. as    
    3.   v_postype varchar2(20);   
    4.      
    5. begin   
    6.    select pos_type into v_postype from pos_type_tbl where 1=0;   
    7.     dbms_output.put_line(v_postype);   
    8. exception    
    9.   when no_data_found then   
    10.     dbms_output.put_line('ûÕÒµ½Êý¾Ý');   
    11. end;  
    ÕâÑù×ö»»ÌÀ²»»»Ò©£¬³ÌÐòÈÔÈ»±»Öжϡ£¿ÉÄÜÕâÑù²»ÊÇÎÒÃÇËùÏëÒªµÄ¡£
    2. select into×öΪһ¸ö¶ÀÁ¢µÄ¿é£¬ÔÚÕâ¸ö¿éÖнøÐÐÒì³£´¦Àí
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procexception(p varchar2)   
    2. as    
    3.   v_postype varchar2(20);   
    4.      
    5. begin   
    6.   begin   
    7.    select pos_type into v_postype from pos_type_tbl where 1=0;   
    8.     dbms_output.put_line(v_postype);   
    9.  exception    
    10.   when no_data_found then   
    11.     v_postype := '';   
    12.   end;   
    13.   dbms_output.put_line(v_postype);   
    14. end;  
    ÕâÊÇÒ»ÖֱȽϺõĴ¦Àí·½Ê½ÁË¡£²»»áÒòΪÕâ¸öÒì³£¶øÒýÆð³ÌÐòÖжϡ£
    3.ʹÓÃÓαê
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procexception(p varchar2)   
    2. as    
    3.   v_postype varchar2(20);   
    4.   cursor c_postype is select pos_type  from pos_type_tbl where 1=0;   
    5. begin   
    6.   open c_postype;   
    7.     fetch c_postype into v_postype;   
    8.   close c_postype;   
    9.   dbms_output.put_line(v_postype);   
    10. end;  
    ÕâÑù¾ÍÍêÈ«µÄ±ÜÃâÁËno_data_foundÒì³£¡£ÍêÈ«½»ÓɳÌÐòÔ±À´½øÐпØÖÆÁË¡£

    µÚ¶þÖÖÇé¿öÊÇtoo_many_rows Òì³£µÄÎÊÌâ¡£
    Too_many_rows Õâ¸öÎÊÌâ±ÈÆðno_data_foundÒª¸´ÔÓһЩ¡£
    ¸øÒ»¸ö±äÁ¿¸³ÖµÊ±£¬µ«ÊDzéѯ½á¹ûÓжà¸ö¼Ç¼¡£
    ´¦ÀíÕâÖÖÎÊÌâÒ²ÓÐÁ½ÖÖÇé¿ö£º
    1£® ¶àÌõÊý¾ÝÊÇ¿ÉÒÔ½ÓÊܵģ¬Ò²¾ÍÊÇ˵´Ó½á¹û¼¯ÖÐËæ±ãÈ¡Ò»¸öÖµ¾ÍÐС£ÕâÖÖÇé¿öÓ¦¸ÃºÜ¼«¶ËÁË°É£¬Èç¹û³öÏÖÕâÖÖÇé¿ö£¬Ò²ËµÃ÷Á˳ÌÐòµÄÑϽ÷ÐÔ´æÔÚÎÊÌâ¡£
    2£® ¶àÌõÊý¾ÝÊDz»¿ÉÒÔ±»½ÓÊܵģ¬ÔÚÕâÖÖÇé¿ö¿Ï¶¨ÊdzÌÐòµÄÂß¼­³öÁËÎÊÌ⣬Ҳ˵ÊÇ˵ԭÀ´¸ù±¾¾Í²»»áÏëµ½Ëü»á²úÉú¶àÌõ¼Ç¼¡£
    ¶ÔÓÚµÚÒ»ÖÖÇé¿ö£¬¾Í±ØÐë²ÉÓÃÓαêÀ´´¦Àí£¬¶ø¶ÔÓÚµÚ¶þÖÖÇé¿ö¾Í±ØÐëʹÓÃÄÚ²¿¿éÀ´´¦Àí£¬ÖØÐÂÅ׳öÒì³£¡£
    ¶àÌõÊý¾Ý¿ÉÒÔ½ÓÊÜ,Ëæ±ãÈ¡Ò»Ìõ£¬Õâ¸ö¸úno_data_foundµÄ´¦Àí·½Ê½Ò»Ñù£¬Ê¹ÓÃÓαꡣ
    ÎÒÕâÀï½ö˵µÚ¶þÖÖÇé¿ö£¬²»¿É½ÓÊܶàÌõÊý¾Ý£¬µ«ÊDz»ÒªÍüÁË´¦Àíno_data_foundŶ¡£Õâ¾Í²»ÄÜʹÓÃÓαêÁË£¬±ØÐëʹÓÃÄÚ²¿¿é¡£
    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace procedure procexception2(p varchar2)   
    2. as    
    3.   v_postype varchar2(20);   
    4.     
    5. begin   
    6.   begin   
    7.     select pos_type into v_postype from pos_type_tbl where rownum < 5;   
    8.   exception   
    9.     when no_data_found then   
    10.       v_postype :=null;   
    11.     when too_many_rows then   
    12.       raise_application_error(-20000,'¶Ôv_postype¸³ÖµÊ±£¬ÕÒµ½¶àÌõÊý¾Ý');   
    13.   end;   
    14.  dbms_output.put_line(v_postype);   
    15. end;  
    ÐèҪעÒâµÄÊÇÒ»¶¨Òª¼ÓÉ϶Ôno_data_foundµÄ´¦Àí£¬¶Ô³öÏÖ¶àÌõ¼Ç¼µÄÇé¿öÔò¼ÌÐøÅ׳öÒì³££¬ÈÃÉÏÒ»²ãÀ´´¦Àí¡£
    ×ÜÖ®¶ÔÓÚselect intoµÄÓï¾äÐèҪעÒâÕâÁ½ÖÖÇé¿öÁË¡£ÐèÒªÍ×µ±´¦Àí°¡¡£

    3.5 ÔÚ´æ´¢¹ý³ÌÖзµ»Ø½á¹û¼¯
    ÎÒÃÇʹÓô洢¹ý³Ì¶¼ÊÇ·µ»ØÖµ¶¼Êǵ¥Ò»µÄ£¬ÓÐʱÎÒÃÇÐèÒª´Ó¹ý³ÌÖзµ»ØÒ»¸ö¼¯ºÏ¡£¼´¶àÌõÊý¾Ý¡£ÕâÓм¸ÖÖ½â¾ö·½°¸¡£±È½Ï¼òµ¥µÄ×ö·¨ÊÇдÁÙʱ±í£¬µ«ÊÇÕâÖÖ×ö·¨²»Áé»î¡£¶øÇÒά»¤Âé·³¡£ÎÒÃÇ¿ÉÒÔʹÓÃǶÌ×±íÀ´ÊµÏÖ.ûÓÐÒ»¸ö¼¯ºÏÀàÐÍÄܹ»ÓëjavaµÄjdbcÀàÐÍÆ¥Åä¡£Õâ¾ÍÊǶÔÏóÓë¹ØϵÊý¾Ý¿âµÄ×迹°É¡£Êý¾Ý¿âµÄ¶ÔÏó²¢²»Äܹ»Íêȫת»»Îª±à³ÌÓïÑԵĶÔÏ󣬻¹±ØÐëʹÓùØϵÊý¾Ý¿âµÄ´¦Àí·½Ê½¡£

    Java´úÂë ¸´ÖÆ´úÂë
    1. create or replace package procpkg is   
    2.    type refcursor is ref cursor;   
    3.    procedure procrefcursor(p varchar2, p_ref_postypeList  out refcursor);   
    4. end procpkg;   
    5.   
    6. create or replace package body procpkg is   
    7.   procedure procrefcursor(p varchar2, p_ref_postypeList out  refcursor)   
    8.   is   
    9.     v_posTypeList PosTypeTable;   
    10.   begin   
    11.     v_posTypeList :=PosTypeTable();--³õʼ»¯Ç¶Ì×±í   
    12.     v_posTypeList.extend;   
    13.     v_posTypeList(1) := PosType('A001','¿Í»§×ÊÁϱä¸ü');   
    14.     v_posTypeList.extend;   
    15.     v_posTypeList(2) := PosType('A002','ÍÅÌå×ÊÁϱä¸ü');   
    16.     v_posTypeList.extend;   
    17.     v_posTypeList(3) := PosType('A003','ÊÜÒæÈ˱ä¸ü');   
    18.     v_posTypeList.extend;   
    19.     v_posTypeList(4) := PosType('A004','ÐøÆÚ½»·Ñ·½Ê½±ä¸ü');   
    20.     open p_ref_postypeList for  select * from table(cast (v_posTypeList as PosTypeTable));   
    21.   end;   
    22. end procpkg;  

    ÔÚ°üÍ·Öж¨ÒåÁËÒ»¸öÓαê±äÁ¿,²¢°ÑËü×÷Ϊ´æ´¢¹ý³ÌµÄ²ÎÊýÀàÐÍ¡£
    ÔÚ´æ´¢¹ý³ÌÖж¨ÒåÁËÒ»¸öǶÌ×±í±äÁ¿£¬¶ÔÊý¾Ýд½øǶÌ×±íÖУ¬È»ºó°ÑǶÌ×±í½øÐÐÀ
  • C#µ÷ÓÃExcel

    2009-03-27 10:55:01

    ExcelÊÇ΢Èí¹«Ë¾°ì¹«×Ô¶¯»¯Ì×¼þÖеÄÒ»¸öÈí¼þ£¬ËûÖ÷ÒªÊÇÓÃÀ´´¦Àíµç×Ó±í¸ñ¡£ExcelÒÔÆ书ÄÜÇ¿´ó£¬½çÃæÓѺõÈÊܵ½ÁËÐí¶àÓû§µÄ»¶Ó­¡£ÔÚÉè¼ÆÓ¦ÓÃϵͳʱ£¬¶ÔÓÚ²»Í¬µÄÓû§£¬ËûÃǶÔÓÚ´òÓ¡µÄÐèÇóÊDz»Ò»ÑùµÄ£¬Èç¹ûҪʹµÃ³ÌÐòÖеĴòÓ¡¹¦ÄÜÊÊÓÃÓÚÿһ¸öÓû§£¬¿ÉÒÔÏëÏó³ÌÐòÉè¼ÆÊÇÊ®·Ö¸´Ôӵġ£ÓÉÓÚExcel±í¸ñµÄ¹¦ÄÜÇ¿´ó£¬ÓÖÓÉÓÚ¼¸ºõÿһ̨»úÆ÷¶¼°²×°ÁËËü£¬Èç¹û°Ñ³ÌÐò´¦ÀíµÄ½á¹û·Åµ½Excel±í¸ñÖУ¬ÕâÑùÿһ¸öÓû§¾Í¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÒªÔÚExcelÖж¨ÖÆ×Ô¼ºµÄ´òÓ¡¡£ÕâÑù²»½öʹµÃ³ÌÐòÉè¼Æ¼òµ¥£¬¶øÇÒÓÖÂú×ãÁËÖî¶àÓû§µÄÒªÇ󣬸ü¼ÓʵÓÃÁË¡£ÄÇôÓÃVisual C££ÈçºÎµ÷ÓÃExcel£¬ÈçºÎÓÖ°ÑÊý¾Ý´æ·Åµ½Excel±í¸ñÖУ¿±¾ÎľÍÀ´Ì½ÌÖÉÏÊöÎÊÌâµÄ½â¾ö°ì·¨¡£

    ¡¡¡¡Excel¶ÔÏó

    ¡¡¡¡Î¢ÈíµÄExcel¶ÔÏóÄ£ÐÍ°üÀ¨ÁË128¸ö²»Í¬µÄ¶ÔÏ󣬴ӾØÐΣ¬Îı¾¿òµÈ¼òµ¥µÄ¶ÔÏóµ½Í¸ÊÓ±í£¬Í¼±íµÈ¸´ÔӵĶÔÏó£®ÏÂÃæÎÒÃǼòµ¥½éÉÜÒ»ÏÂÆäÖÐ×îÖØÒª£¬Ò²ÊÇÓõÃ×î¶àµÄËĸö¶ÔÏó¡£

    ¡¡¡¡(1) Application¶ÔÏó¡£Application¶ÔÏó´¦ÓÚExcel¶ÔÏó²ã´Î½á¹¹µÄ¶¥²ã£¬±íʾExcel×ÔÉíµÄÔËÐл·¾³¡£

    ¡¡¡¡(2) Workbook¶ÔÏó¡£Workbook¶ÔÏóÖ±½ÓµØ´¦ÓÚApplication¶ÔÏóµÄϲ㣬±íʾһ¸öExcel¹¤×÷±¡Îļþ¡£

    ¡¡¡¡(3) Worksheet¶ÔÏó¡£Worksheet¶ÔÏó°üº¬ÓÚWorkbook¶ÔÏ󣬱íʾһ¸öExcel¹¤×÷±í¡£

    ¡¡¡¡(4) Range¶ÔÏó¡£Range¶ÔÏó°üº¬ÓÚWorksheet¶ÔÏ󣬱íʾExcel¹¤×÷±íÖеÄÒ»¸ö»ò¶à¸öµ¥Ôª¸ñ¡£

     

    ¡¡¡¡C#ÖеÄÊܹܴúÂëºÍ·ÇÊܹܴúÂë

    ¡¡¡¡ÔÚ.NET¹«ÓÃÓïÑÔ¿ò¼ÜÄÚÔËÐеijÌÐòΪÊܹܴúÂë¡£ÊܹܴúÂëÔÚ³ÌÐòÖÐËùÓÐÀàÐͶ¼Êܵ½Ñϸñ¼ì²é£¬Ã»ÓÐÖ¸Õ룬¶ÔÄÚ´æµÄ¹ÜÀíÍêÈ«ÓÉÔËÐÐϵͳ¿ØÖÆ¡£ÊÜ¿Ø״̬Ï£¬±àд³ÌÐò¸üΪÈÝÒ×£¬ÇÒ¸üÉÙ³ö´í£¬ÎÒÃÇ¿ÉÒÔ»¨¸ü¶àµÄʱ¼äÔÚ½â¾öʵ¼ÊÎÊÌâÉ϶ø²»ÊÇÔÚ¼ÆËã»úÓïÑÔÎÊÌâÉÏ¡£Ïà¶Ô¶øÑÔ£¬ÄÇЩÔÚ.NET¿ò¼ÜÍâÔËÐеijÌÐòΪ·ÇÊܹܴúÂë¡£±ÈÈ磺COM×é¼þ¡¢ActiveX×é¼þ¡¢Win32 APIº¯Êý¡¢Ö¸ÕëÔËËãµÈ¡£C#±à³ÌÖÐÔÚijЩÌض¨Çé¿öÏ£¬ÐèÒªÔËÓ÷ÇÊܹܴúÂ룬ÀýÈ磬ҪÀûÓÃÒ»¸ö³ÉÊìµÄCOM×é¼þ£¬»òÕßµ÷ÓÃÒ»¸öAPIº¯Êý£¬»òÕßÓÃÖ¸ÕëÈ¥±àдʵʱ/¸ßЧ³ÌÐòµÈ¡£

    ¡¡¡¡Visual C#Öе÷ÓÃExcelµÄCOM×é¼þ

    ¡¡¡¡Ò»¸ö.NET×é¼þÊÂʵÉÏÊÇÒ»¸ö.NETϵÄDLL£¬Ëü°üº¬µÄ²»½öÊÇÔËÐгÌÐò±¾Éí£¬¸üÖØÒªµÄÊÇ°üº¬Õâ¸öDLLµÄÃèÊöÐÅÏ¢£¨Meta. Data,¼´ÔªÊý¾Ý£©£¬¶øÒ»¸öCOM×é¼þÊÇÓÃÆäÀà¿â£¨TLB£©´¢´æÆäÃèÊöÐÅÏ¢¡£ÕâЩCOM×é¼þ¶¼ÊÇ·ÇÊܹܴúÂ룬ҪÔÚVisual C££ÖÐʹÓÃÕâЩ·ÇÊܹܴúÂëµÄCOM×é¼þ£¬¾Í±ØÐë°ÑËûÃÇת»»³ÉÊܹܴúÂëµÄ.NET×é¼þ¡£ËùÒÔÔÚÓÃVisual C££µ÷ÓÃExcel±í¸ñ֮ǰ£¬±ØÐëÍê³É´ÓCOM×é¼þµÄ·ÇÊܹܴúÂëµ½ÊܹܴúÂëµÄÀà¿âµÄת»»¡£

    ¡¡¡¡1¡¢½«ExcelµÄCOM×é¼þת»»Îª.NET×é¼þ

    ¡¡¡¡ÔÚÏîÄ¿Öдò¿ªAdd Reference¶Ô»°¿ò£¬Ñ¡ÔñCOMÀ¸£¬Ö®ºóÔÚCOMÁбíÖÐÕÒµ½"Microsoft Excel 9.0 Object Library"£¨Office 2000£©£¬È»ºó½«Æä¼ÓÈëµ½ÏîÄ¿µÄReferencesÖм´¿É¡£Visual C#.NET»á×Ô¶¯²úÉúÏàÓ¦µÄ.NET×é¼þÎļþ£¬ÒÔºó¼´¿ÉÕý³£Ê¹Óá£

    ¡¡¡¡Õâ¸öת»»ÐγÉ.NET×é¼þ²»Äܵ¥¶ÀʹÓã¬Ëü²»¹ýÊÇÒÔÇ°µÄCOM×é¼þµÄÒ»¸öÍâ²ã°ü×°£¬ÔÚ.NETÖпÉÒÔͨ¹ýÕâ¸öÍâ²ã°ü×°È¥·¢ÏÖÔ­À´µÄCOM×é¼þ²¢µ÷ÓÃÆäÏàÓ¦µÄ½çÃ溯Êý¡£ËùÒÔËü±ØÐëÓëÔ­À´µÄCOM×é¼þÒ»ÆðÆð×÷Óá£

    ¡¡¡¡2¡¢Visual C££´ò¿ªExcel±í¸ñ

    ¡¡¡¡ÊÂʵÉÏ£¬ÔÚC#ÖÐʹÓÃÒ»¸ö¾­×ª»»µÄCOM×é¼þºÍʹÓÃÈκÎÒ»¸öÆäËü.NET×é¼þÍêÈ«Ò»Ñù¡£¿ÉÒÔÓÃnew¹Ø¼ü×Ö´´½¨Ò»¸ö¾­×ª»»µÄCOM×é¼þ£¬È»ºóÔÙÏñʹÓÃÈκÎÒ»¸öÆäËüC#¶ÔÏóÒ»ÑùʹÓÃÕâ¸ö×é¼þ¶ÔÏó¡£

    ¡¡¡¡ÔÚת»»ºóµÄ.NET×é¼þÖж¨ÒåÁËÒ»¸öÃüÃû¿Õ¼äExcel£¬ÔÚ´ËÃüÃû¿Õ¼äÖзâ×°ÁËÒ»¸öÀàApplication£¬Õâ¸öÀàºÍÆô¶¯Excel±í¸ñÓзdz£ÖØÒªµÄ¹Øϵ£¬ÔÚVisual C££ÖУ¬Ö»ÐèÒªÏÂÁÐÈýÐдúÂë¾Í¿ÉÒÔÍê³É´ò¿ªExcel±í¸ñµÄ¹¤×÷£¬¾ßÌåÈçÏ£º


    Excel.Application excel = new Excel.Application ()£»//ÒýÓÃExcel¶ÔÏó
    excel.Application.Workbooks.Add ( true )£»//ÒýÓÃExcel¹¤×÷²¾
    excel.Visible = true £»//ʹExcel¿ÉÊÓ


    ¡¡¡¡µ«´ËʱµÄExcel±í¸ñÊÇÒ»¸ö¿ÕµÄ±í¸ñ£¬Ã»ÓÐÈκÎÄÚÈÝ£¬ÏÂÃæ¾ÍÀ´½éÉÜÈçºÎÍùExcel±í¸ñÖÐÊäÈëÊý¾Ý¡£

    ¡¡¡¡3¡¢ÍùExcel±í¸ñÖÐÊäÈëÊý¾Ý

    ¡¡¡¡ÔÚÃüÃû¿Õ¼ä"Excel"ÖУ¬»¹¶¨ÒåÁËÒ»¸öÀà"Cell"£¬Õâ¸öÀàËù´ú±íµÄ¾ÍÊÇExcel±í¸ñÖеÄÒ»¸öµ¥Ôª¸ñ¡£Í¨¹ý¸ø"Cell"¸³Öµ£¬´Ó¶øʵÏÖÍùExcel±í¸ñÖÐÊäÈëÏàÓ¦µÄÊý¾Ý£¬ÏÂÁдúÂ빦ÄÜÊÇ´ò¿ªExcel±í¸ñ£¬²¢ÇÒÍù±í¸ñÊäÈëһЩÊý¾Ý¡£


    Excel.Application excel = new Excel.Application () £»
    excel.Application.Workbooks.Add ( true ) £»
    excel.Cells[ 1 , 1 ] = "First Row First Column" £»
    excel.Cells[ 1 , 2 ] = "First Row Second Column" £»
    excel.Cells[ 2 , 1 ] = "Second Row First Column" £»
    excel.Cells[ 2 , 2 ] = "Second Row Second Column" £»
    excel.Visible = true ; 

     

    ¡¡¡¡4¡¢ÊµÀý

    ¡¡¡¡ÏÂÃæʵÀýÔÚC#ÖÐÁ¬½ÓOracleÊý¾Ý¿â(Name),´Ó±í(TableName)ÖжÁÈ¡Êý¾Ý,²¢Ð´ÈëExcel¡£


    string cnString="Provider=msdaora.1;Data source=Name; ";
    cnString=cnString+"user id=UserName;password=Password";
    try
    {
    ¡¡OleDbConnection cn=new OleDbConnection (cnString);
    ¡¡cn.Open ();
    ¡¡try
    ¡¡{
    ¡¡¡¡string s="select * from Name.TableName";
    ¡¡¡¡OleDbCommand cmd=new OleDbCommand (s,cn);
    ¡¡¡¡OleDbDataReader dr=cmd.ExecuteReader ();
    ¡¡¡¡Excel.Application xlApp = new Excel.Application();
    ¡¡¡¡if(xlApp==null){MessageBox.Show ("Can't open Excel!");return;}
    ¡¡¡¡xlApp.Application .Workbooks .Add (true);
    ¡¡¡¡int row=2,fieldcount;
    ¡¡¡¡fieldcount=dr.FieldCount ;
    ¡¡¡¡for(int col=0;col<fieldcount;col++) xlApp.Cells [1,col+1]=dr.GetName(col);
    ¡¡¡¡while (dr.Read ())
    ¡¡¡¡{
    ¡¡¡¡¡¡for(int col=0;col<fieldcount;col++)
    ¡¡¡¡¡¡¡¡xlApp.Cells [row,col+1]=dr.GetValue(col).ToString();
    ¡¡¡¡¡¡¡¡row++;
    ¡¡¡¡}
    ¡¡¡¡xlApp.Visible =true;
    ¡¡¡¡xlApp=null;
    ¡¡}
    ¡¡catch(Exception ex ){MessageBox.Show (ex.Message );}
    ¡¡finally {cn.Close();}
    }
    catch(Exception ex){MessageBox.Show (ex.Message );}
    }
    }


    ¡¡¡¡5¡¢°²×°Ò»¸öʹÓÃCOM×é¼þµÄ.NET³ÌÐò

    ¡¡¡¡Èç¹ûÒª½«ÕâÑùµÄ³ÌÐò°²×°ÔËÐÐÔÚÁíһ̨»úÆ÷ÉÏ£¬ÄÇô³ýÁË°²×°ÔËÐгÌÐòÍ⣬»¹×öÈý¼þÊ¡£

    ¡¡¡¡Ê×ÏÈ£¬ÊÇ°²×°.NETÔËÐÐϵͳ¡£ÒòΪÈκÎÒ»¸ö.NET³ÌÐò¶¼²»ÄÜÀ뿪.NETÔËÐÐϵͳȥ¶ÀÁ¢ÔËÐС£

    ¡¡¡¡Æä´Î£¬Ëùµ÷ÓõÄCOM×é¼þ±ØÐëÒª°²×°ÔÚÄ¿±ê»úÆ÷ÉÏ¡£±¾ÀýÖдó¶àÊýÄ¿±ê»úÆ÷É϶¼×°ÓÐMicrosoft OfficeµÄExcel£¬Ò»°ã²»»áÓÐÕâ¸öÎÊÌâ¡£µ«Èç¹ûÊÇÁíÒ»¸öÓû§×Ô¶¨ÒåµÄCOM×é¼þ£¬ÄÇôÕâ¸öCOM×é¼þÔÚÔËÐÐ.NET³ÌÐò֮ǰ±ØÐëÏÈ°²×°ºÃ¡£

    ¡¡¡¡×îºó£¬×ª»»ºóµÄ.NET×é¼þDLLÎļþÒª°²×°ÔÚÄ¿±ê»úÆ÷ÉÏ¡£ÒòΪ.NET×é¼þ²»ÐèÒªÔÚWindows RegistryÖÐ×¢²á£¬ËùÒÔ×î¼òµ¥µÄ·½·¨Êǽ«.NET×é¼þDLLÎļþ¿½±´µ½ÔËÐгÌÐòĿ¼Ï¡£Èç¹û´Ë.NET×é¼þ±»¶à¸ö.NET³ÌÐò¹²Ïí£¬¿ÉÒÔ½«Æä°²×°ÔÚ.NET¹«ÓÃ×é¼þÇøÖУ¬´Ó¶ø¿É±»ÈκÎÒ»¸ö.NET×é¼þʹÓá£Ö»Óе±Ò»¸ö.NET×é¼þ²ÎÓëÁËÊÂÎñ´¦Àíʱ£¬²ÅÐèÒª½«Ëü×¢²áΪһ¸öCOM+×é¼þ¡£ÒòΪ.NETÈÔÈ»Óô«Í³µÄCOM+»úÖÆÀ´´¦ÀíÊÂÎñµÄÌá½»¡¢»Ø¹öµÈ¡£

  • Web.configÏê½â

    2009-03-25 10:05:06

    ת×Ôhttp://www.doorle.cn/blog/article.asp?id=923

    Ò»¡¢ÈÏʶWeb.configÎļþ
    Web.config ÎļþÊÇÒ»¸öXMLÎı¾Îļþ£¬ËüÓÃÀ´´¢´æ ASP.NET Web Ó¦ÓóÌÐòµÄÅäÖÃÐÅÏ¢£¨Èç×î³£ÓõÄÉèÖÃASP.NET Web Ó¦ÓóÌÐòµÄÉí·ÝÑéÖ¤·½Ê½£©£¬Ëü¿ÉÒÔ³öÏÖÔÚÓ¦ÓóÌÐòµÄÿһ¸öĿ¼ÖС£µ±Äãͨ¹ý.NETн¨Ò»¸öWebÓ¦ÓóÌÐòºó£¬Ä¬ÈÏÇé¿öÏ»áÔÚ¸ùĿ¼×Ô¶¯´´½¨Ò»¸öĬÈϵÄWeb.configÎļþ£¬°üÀ¨Ä¬ÈϵÄÅäÖÃÉèÖã¬ËùÓеÄ×ÓĿ¼¶¼¼Ì³ÐËüµÄÅäÖÃÉèÖá£Èç¹ûÄãÏëÐÞ¸Ä×ÓĿ¼µÄÅäÖÃÉèÖã¬Äã¿ÉÒÔÔÚ¸Ã×ÓĿ¼ÏÂн¨Ò»¸öWeb.configÎļþ¡£Ëü¿ÉÒÔÌṩ³ý´Ó¸¸Ä¿Â¼¼Ì³ÐµÄÅäÖÃÐÅÏ¢ÒÔÍâµÄÅäÖÃÐÅÏ¢£¬Ò²¿ÉÒÔÖØд»òÐ޸ĸ¸Ä¿Â¼Öж¨ÒåµÄÉèÖá£
    (Ò»).Web.ConfigÊÇÒÔXMLÎļþ¹æ·¶´æ´¢,ÅäÖÃÎļþ·ÖΪÒÔϸñʽ
    1.ÅäÖýڴ¦Àí³ÌÐòÉùÃ÷
    Ìص㣺 λÓÚÅäÖÃÎļþµÄ¶¥²¿£¬°üº¬ÔÚ<configSections>±êÖ¾ÖС£
    2.Ìض¨Ó¦ÓóÌÐòÅäÖÃ
    Ìصã: λÓÚ<appSetting>ÖС£ ¿ÉÒÔ¶¨ÒåÓ¦ÓóÌÐòµÄÈ«¾Ö³£Á¿ÉèÖõÈÐÅÏ¢.
    3.ÅäÖýÚÉèÖÃ
    Ìصã: λÓÚ<system.Web>½ÚÖУ¬¿ØÖÆAsp.netÔËÐÐʱµÄÐÐΪ.
    4.ÅäÖýÚ×é
    Ìصã: ÓÃ<sectionGroup>±ê¼Ç£¬¿ÉÒÔ×Ô¶¨Òå·Ö×飬¿ÉÒԷŵ½<configSections>ÄÚ²¿»òÆäËü<sectionGroup>±ê¼ÇµÄÄÚ²¿.
    (¶þ).ÅäÖýڵÄÿһ½Ú
    1.<configuration>½Ú
    ¸ùÔªËØ£¬ÆäËü½Ú¶¼ÊÇÔÚËüµÄÄÚ²¿.
    2.<appSetting>½Ú
    ´Ë½ÚÓÃÓÚ¶¨ÒåÓ¦ÓóÌÐòÉèÖÃÏî¡£¶ÔһЩ²»È·¶¨ÉèÖ㬻¹¿ÉÒÔÈÃÓû§¸ù¾Ý×Ô¼ºÊµ¼ÊÇé¿ö×Ô¼ºÉèÖÃ
    Ó÷¨:
    I.
    <appSettings>
    <add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/>
    <appSettings>
    ¶¨ÒåÁËÒ»¸öÁ¬½Ó×Ö·û´®³£Á¿£¬²¢ÇÒÔÚʵ¼ÊÓ¦ÓÃʱ¿ÉÒÔÐÞ¸ÄÁ¬½Ó×Ö·û´®£¬²»ÓÃÐ޸ijÌʽ´úÂë.
    II.<appSettings>
    <add key="ErrPage" value="Error.aspx"/>
    <appSettings>
    ¶¨ÒåÁËÒ»¸ö´íÎóÖض¨ÏòÒ³Ãæ.
    3.<compilation>½Ú
    ¸ñʽ:
    <compilation
    defaultLanguage="c#"
    debug="true"
    />
    I.default language: ¶¨Òåºǫ́´úÂëÓïÑÔ,¿ÉÒÔÑ¡ÔñC#ºÍVB.netÁ½ÖÖÓïÑÔ.
    IIdebug : Ϊtrueʱ£¬Æô¶¯aspxµ÷ÊÔ£» Ϊfalse²»Æô¶¯aspxµ÷ÊÔ£¬Òò¶ø¿ÉÒÔÌá¸ßÓ¦ÓóÌÐòÔËÐÐ
    ʱµÄÐÔÄÜ¡£ Ò»°ã³ÌÐòÔ±ÔÚ¿ª·¢Ê±ÉèÖÃΪtrue,½»¸ø¿Í»§Ê±ÉèÖÃΪfalse.
    4.<customErrors>½Ú
    ¸ñʽ:
    <customErrors
    mode="RemoteOnly"
    defaultRedirect="error.aspx"
    <error statusCode="440" redirect="err440page.aspx"/>
    <error statusCode="500" redirect="err500Page.aspx"/>
    />
    I.mode : ¾ßÓÐOn,Off,RemoteOnly 3ÖÖ״̬¡£On±íʾʼÖÕÏÔʾ×Ô¶¨ÒåµÄÐÅÏ¢; Off±íʾʼÖÕÏÔʾÏêϸµÄasp.net´íÎóÐÅÏ¢; RemoteOnly±íʾֻ¶Ô²»ÔÚ±¾µØWeb·þÎñÆ÷ÉÏÔËÐеÄÓû§ÏÔʾ×Ô¶¨ÒåÐÅÏ¢.
    II.defaultRedirect: ÓÃÓÚ³öÏÖ´íÎóʱÖض¨ÏòµÄURLµØÖ·. ÊÇ¿ÉÑ¡µÄ
    III.statusCode: Ö¸Ã÷´íÎó״̬Â룬±íÃ÷Ò»ÖÖÌض¨µÄ³ö´í״̬.
    IV. redirect:´íÎóÖض¨ÏòµÄURL.
    5.<globalization>½Ú
    ¸ñʽ:
    <globalization
    requestEncoding="utf-8"
    responseEncoding="utf-8"
    fileEncoding="utf-8"
    />
    I.requestEncoding: ËüÓÃÀ´¼ì²éÿһ¸ö·¢À´ÇëÇóµÄ±àÂë.
    II.responseEncoding: ÓÃÓÚ¼ì²é·¢»ØµÄÏìÓ¦ÄÚÈݱàÂë.
    III.fileEncoding: ÓÃÓÚ¼ì²éaspx,asaxµÈÎļþ½âÎöµÄĬÈϱàÂë.
    6.<sessionState>½Ú
    ¸ñʽ:
    <sessionState
    mode="InProc"
    stateConnectionString="tcpip=127.0.0.1:42424"
    sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
    cookieless="false"
    timeout="20"
    />
    I.mode: ·ÖΪoff,Inproc,StateServer,SqlServer¼¸ÖÖ״̬
    ÕâÀïÓÐÏêϸ½éÉÜ´ËÊôÐÔ:
    II. stateConnectionString :Ö¸¶¨Asp.netÓ¦ÓóÌÐò´æ´¢Ô¶³Ì»á»°×´Ì¬µÄ·þÎñÆ÷Ãû£¬Ä¬ÈÏΪ±¾»ú
    III.sqlConnectionString: µ±ÓûỰ״̬Êý¾Ý¿âʱ£¬ÔÚÕâÀïÉèÖÃÁ¬½Ó×Ö·û´®
    IV. Cookieless: ÉèÖÃΪtrueʱ£¬±íʾ²»Ê¹ÓÃcookie»á»°×´Ì¬À´±êʶ¿Í»§£» ·ñÔò£¬Ïà·´.
    V. TimeOut: ÓÃÀ´¶¨Òå»á»°×´Ì¬´æ´¢µÄʱ¼ä£¬³¬¹ýÆÚÏÞ£¬½«×Ô¶¯ÖÕÖ¹»á»°.
    7.<authentication>½Ú
    ¸ñʽ:
    <authentication mode="Forms">
    <forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/>
    </authentication>
    <authorization>
    <deny users="?"/>
    </authorization>
    I.Windows: ʹÓÃIISÑéÖ¤·½Ê½
    II.Forms: ʹÓûùÓÚ´°ÌåµÄÑéÖ¤·½Ê½
    III.Passport: ²ÉÓÃPassport cookieÑé֤ģʽ
    IV.None: ²»²ÉÓÃÈκÎÑéÖ¤·½Ê½
    ÀïÃæÄÚǶForms½ÚµãµÄÊôÐÔº­Òå:
    I.Name: Ö¸¶¨Íê³ÉÉí·ÝÑéÖ¤µÄHttp cookieµÄÃû³Æ.
    II.LoginUrl: Èç¹ûδͨ¹ýÑéÖ¤»ò³¬Ê±ºóÖض¨ÏòµÄÒ³ÃæURL£¬Ò»°ãΪµÇ¼ҳÃ棬ÈÃÓû§ÖØеǼ
    III.Protection: Ö¸¶¨ cookieÊý¾ÝµÄ±£»¤·½Ê½.
    ¿ÉÉèÖÃΪ: All None Encryption ValidationËÄÖÖ±£»¤·½Ê½
    a. All±íʾ¼ÓÃÜÊý¾Ý£¬²¢½øÐÐÓÐЧÐÔÑéÖ¤Á½ÖÖ·½Ê½
    b. None±íʾ²»±£»¤Cookie.
    c. Encryption±íʾ¶ÔCookieÄÚÈݽøÐмÓÃÜ
    d. validation±íʾ¶ÔCookieÄÚÈݽøÐÐÓÐЧÐÔÑéÖ¤
    IV. TimeOut: Ö¸¶¨CookieµÄʧЧʱ¼ä. ³¬Ê±ºóÒªÖØеǼ.

    ÔÚÔËÐÐʱ¶ÔWeb.configÎļþµÄÐ޸IJ»ÐèÒªÖØÆô·þÎñ¾Í¿ÉÒÔÉúЧ£¨×¢£º<processModel> ½ÚÀýÍ⣩¡£µ±È»Web.configÎļþÊÇ¿ÉÒÔÀ©Õ¹µÄ¡£Äã¿ÉÒÔ×Ô¶¨ÒåÐÂÅäÖòÎÊý²¢±àдÅäÖýڴ¦Àí³ÌÐòÒÔ¶ÔËüÃǽøÐд¦Àí¡£

    web.configÅäÖÃÎļþ£¨Ä¬ÈϵÄÅäÖÃÉèÖã©ÒÔÏÂËùÓеĴúÂ붼Ӧ¸ÃλÓÚ
    <configuration>
    <system.web>
    ºÍ
    </system.web>
    </configuration>
    Ö®¼ä£¬³öÓÚѧϰµÄÄ¿µÄÏÂÃæµÄʾÀý¶¼Ê¡ÂÔÁËÕâ¶ÎXML±ê¼Ç¡£



    1¡¢<authentication> ½Ú
    ×÷ÓãºÅäÖà ASP.NET Éí·ÝÑéÖ¤Ö§³Ö£¨ÎªWindows¡¢Forms¡¢PassPort¡¢NoneËÄÖÖ£©¡£¸ÃÔªËØÖ»ÄÜÔÚ¼ÆËã»ú¡¢Õ¾µã»òÓ¦ÓóÌÐò¼¶±ðÉùÃ÷¡£< authentication> ÔªËرØÐèÓë<authorization> ½ÚÅäºÏʹÓá£



    ʾÀý£º

    ÒÔÏÂʾÀýΪ»ùÓÚ´°Ì壨Forms£©µÄÉí·ÝÑéÖ¤ÅäÖÃÕ¾µã£¬µ±Ã»ÓеǽµÄÓû§·ÃÎÊÐèÒªÉí·ÝÑéÖ¤µÄÍøÒ³£¬ÍøÒ³×Ô¶¯Ìøתµ½µÇ½ÍøÒ³¡£
    <authentication mode="Forms" >
    <forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
    </authentication>
    ÆäÖÐÔªËØloginUrl±íʾµÇ½ÍøÒ³µÄÃû³Æ£¬name±íʾCookieÃû³Æ¡£

    2¡¢<authorization> ½Ú
    ×÷Ó㺿ØÖÆ¶Ô URL ×ÊÔ´µÄ¿Í»§¶Ë·ÃÎÊ£¨ÈçÔÊÐíÄäÃûÓû§·ÃÎÊ£©¡£´ËÔªËØ¿ÉÒÔÔÚÈκμ¶±ð£¨¼ÆËã»ú¡¢Õ¾µã¡¢Ó¦ÓóÌÐò¡¢×ÓĿ¼»òÒ³£©ÉÏÉùÃ÷¡£±ØÐèÓë<authentication> ½ÚÅäºÏʹÓá£



    ʾÀý£ºÒÔÏÂʾÀý½ûÖ¹ÄäÃûÓû§µÄ·ÃÎÊ
    <authorization>
       <deny users="?"/>
    </authorization>
    ×¢£ºÄã¿ÉÒÔʹÓÃuser.identity.nameÀ´»ñÈ¡ÒѾ­¹ýÑéÖ¤µÄµ±Ç°µÄÓû§Ãû£»¿ÉÒÔʹÓÃweb.Security.FormsAuthentication.RedirectFromLoginPage·½·¨½«ÒÑÑéÖ¤µÄÓû§Öض¨Ïòµ½Óû§¸Õ²ÅÇëÇóµÄÒ³Ãæ.¾ßÌåµÄ

    3¡¢<compilation>½Ú
    ×÷ÓãºÅäÖà ASP.NET ʹÓõÄËùÓбàÒëÉèÖá£Ä¬ÈϵÄdebugÊôÐÔΪ¡°True¡±.ÔÚ³ÌÐò±àÒëÍê³É½»¸¶Ê¹ÓÃÖ®ºóÓ¦½«ÆäÉèΪFalse£¨Web.configÎļþÖÐÓÐÏêϸ˵Ã÷£¬´Ë´¦Ê¡ÂÔʾÀý£©



    4¡¢<customErrors>
    ×÷ÓãºÎª ASP.NET Ó¦ÓóÌÐòÌṩÓйØ×Ô¶¨Òå´íÎóÐÅÏ¢µÄÐÅÏ¢¡£Ëü²»ÊÊÓÃÓÚ XML Web services Öз¢ÉúµÄ´íÎó¡£

    ʾÀý£ºµ±·¢Éú´íÎóʱ£¬½«ÍøÒ³Ìøתµ½×Ô¶¨ÒåµÄ´íÎóÒ³Ãæ¡£
    <customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
    </customErrors>
    ÆäÖÐÔªËØdefaultRedirect±íʾ×Ô¶¨ÒåµÄ´íÎóÍøÒ³µÄÃû³Æ¡£modeÔªËرíʾ£º¶Ô²»ÔÚ±¾µØ Web ·þÎñÆ÷ÉÏÔËÐеÄÓû§ÏÔʾ×Ô¶¨Òå(ÓѺõÄ)ÐÅÏ¢¡£



    5¡¢<httpRuntime>½Ú
    ×÷ÓãºÅäÖà ASP.NET HTTP ÔËÐпâÉèÖ᣸ýڿÉÒÔÔÚ¼ÆËã»ú¡¢Õ¾µã¡¢Ó¦ÓóÌÐòºÍ×ÓĿ¼¼¶±ðÉùÃ÷¡£



    ʾÀý£º¿ØÖÆÓû§ÉÏ´«Îļþ×î´óΪ4M£¬×ʱ¼äΪ60Ã룬×î¶àÇëÇóÊýΪ100
    <httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>

    6¡¢ <pages>
    ×÷Ó㺱êʶÌض¨ÓÚÒ³µÄÅäÖÃÉèÖã¨ÈçÊÇ·ñÆôÓûỰ״̬¡¢ÊÓͼ״̬£¬ÊÇ·ñ¼ì²âÓû§µÄÊäÈëµÈ£©¡£<pages>¿ÉÒÔÔÚ¼ÆËã»ú¡¢Õ¾µã¡¢Ó¦ÓóÌÐòºÍ×ÓĿ¼¼¶±ðÉùÃ÷¡£



    ʾÀý£º²»¼ì²âÓû§ÔÚä¯ÀÀÆ÷ÊäÈëµÄÄÚÈÝÖÐÊÇ·ñ´æÔÚDZÔÚµÄΣÏÕÊý¾Ý£¨×¢£º¸ÃÏîĬÈÏÊǼì²â£¬Èç¹ûÄãʹÓÃÁ˲»¼ì²â£¬Ò»Òª¶ÔÓû§µÄÊäÈë½øÐбàÂë»òÑéÖ¤)£¬ÔÚ´Ó¿Í»§¶Ë»Ø·¢Ò³Ê±½«¼ì²é¼ÓÃܵÄÊÓͼ״̬£¬ÒÔÑéÖ¤ÊÓͼ״̬ÊÇ·ñÒÑÔÚ¿Í»§¶Ë±»´Û¸Ä¡£(×¢£º¸ÃÏîĬÈÏÊDz»ÑéÖ¤£©
    <pages buffer="true" enableViewStateMac="true" validateRequest="false"/>

    7¡¢<sessionState>
    ×÷ÓãºÎªµ±Ç°Ó¦ÓóÌÐòÅäÖûỰ״̬ÉèÖã¨ÈçÉèÖÃÊÇ·ñÆôÓûỰ״̬£¬»á»°×´Ì¬±£´æλÖã©¡£



    ʾÀý£º
    <sessionState mode="InProc" cookieless="true" timeout="20"/>
    </sessionState>
    ×¢£º
    mode="InProc"±íʾ£ºÔÚ±¾µØ´¢´æ»á»°×´Ì¬£¨ÄãÒ²¿ÉÒÔÑ¡Ôñ´¢´æÔÚÔ¶³Ì·þÎñÆ÷»òSAL·þÎñÆ÷Öлò²»ÆôÓûỰ״̬£©
    cookieless="true"±íʾ£ºÈç¹ûÓû§ä¯ÀÀÆ÷²»Ö§³ÖCookieʱÆôÓûỰ״̬(ĬÈÏΪFalse£©
    timeout="20"±íʾ£º»á»°¿ÉÒÔ´¦ÓÚ¿ÕÏÐ״̬µÄ·ÖÖÓÊý

    8¡¢<trace>
    ×÷ÓãºÅäÖà ASP.NET ¸ú×Ù·þÎñ£¬Ö÷ÒªÓÃÀ´³ÌÐò²âÊÔÅжÏÄÄÀï³ö´í¡£



    ʾÀý£ºÒÔÏÂΪWeb.configÖеÄĬÈÏÅäÖãº
    <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
    ×¢£º
    enabled="false"±íʾ²»ÆôÓøú×Ù£»
    requestLimit="10"±íʾָ¶¨ÔÚ·þÎñÆ÷ÉÏ´æ´¢µÄ¸ú×ÙÇëÇóµÄÊýÄ¿
    pageOutput="false"±íʾֻÄÜͨ¹ý¸ú×ÙʵÓù¤¾ß·ÃÎʸú×ÙÊä³ö£»
    traceMode="SortByTime"±íʾÒÔ´¦Àí¸ú×ÙµÄ˳ÐòÀ´ÏÔʾ¸ú×ÙÐÅÏ¢
    localOnly="true" ±íʾ¸ú×ٲ鿴Æ÷ (trace.axd) Ö»ÓÃÓÚËÞÖ÷ Web ·þÎñÆ÷

    ×Ô¶¨ÒåWeb.configÎļþÅäÖÃ

    ×Ô¶¨ÒåWeb.configÎļþÅäÖýڹý³Ì·ÖΪÁ½²½¡£
    1.ÔÚÔÚÅäÖÃÎļþ¶¥²¿ <configSections> ºÍ </configSections>±ê¼ÇÖ®¼äÉùÃ÷ÅäÖýڵÄÃû³ÆºÍ´¦Àí¸Ã½ÚÖÐÅäÖÃÊý¾ÝµÄ .NET Framework ÀàµÄÃû³Æ¡£
    2.ÊÇÔÚ <configSections> ÇøÓòÖ®ºóΪÉùÃ÷µÄ½Ú×öʵ¼ÊµÄÅäÖÃÉèÖá£



    ʾÀý£º´´½¨Ò»¸ö½Ú´æ´¢Êý¾Ý¿âÁ¬½Ó×Ö·û´®
    <configuration>
    ¡¡ <configSections>
    ¡¡ <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    </configSections>
    ¡¡ <appSettings>
    ¡¡¡¡ <add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>
    ¡¡ </appSettings>
    ¡¡ <system.web>
    ¡¡¡¡ ......
    ¡¡ </system.web>
    </configuration>

    ·ÃÎÊWeb.configÎļþ Äã¿ÉÒÔͨ¹ýʹÓÃConfigurationSettings.AppSettings ¾²Ì¬×Ö·û´®¼¯ºÏÀ´·ÃÎÊ Web.config ÎļþʾÀý£º»ñÈ¡ÉÏÃæÀý×ÓÖн¨Á¢µÄÁ¬½Ó×Ö·û´®¡£ÀýÈ磺
    protected static string Isdebug = ConfigurationSettings.AppSettings["debug"]





    ¶þ¡¢web.configÖеÄsessionÅäÖÃÏê½â
    ´ò¿ªÄ³¸öÓ¦ÓóÌÐòµÄÅäÖÃÎļþWeb.configºó£¬ÎÒÃǻᷢÏÖÒÔÏÂÕâ¶Î£º
    < sessionState
    ¡¡¡¡mode="InProc"
    ¡¡¡¡stateConnectionString="tcpip=127.0.0.1:42424"
    ¡¡¡¡sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
    ¡¡¡¡cookieless="false"
    ¡¡¡¡timeout="20"
    />
    ¡¡¡¡ÕâÒ»¶Î¾ÍÊÇÅäÖÃÓ¦ÓóÌÐòÊÇÈçºÎ´æ´¢SessionÐÅÏ¢µÄÁË¡£ÎÒÃÇÒÔϵĸ÷ÖÖ²Ù×÷Ö÷ÒªÊÇÕë¶ÔÕâÒ»¶ÎÅäÖÃÕ¹¿ª¡£ÈÃÎÒÃÇÏÈ¿´¿´ÕâÒ»¶ÎÅäÖÃÖÐËù°üº¬µÄÄÚÈݵÄÒâ˼¡£sessionState½ÚµãµÄÓï·¨ÊÇÕâÑùµÄ£º
    < sessionState mode="Off|InProc|StateServer|SQLServer"
                 cookieless="true|false"
                 timeout="number of minutes"
                 stateConnectionString="tcpip=server:port"
                 sqlConnectionString="sql connection string"
                 stateNetworkTimeout="number of seconds"
    />

    ±ØÐëÓеÄÊôÐÔÊÇ ÊôÐÔ Ñ¡Ïî ÃèÊö
    mode ÉèÖý«SessionÐÅÏ¢´æ´¢µ½ÄÄÀï
    Ø         Off ÉèÖÃΪ²»Ê¹ÓÃSession¹¦ÄÜ£¬
    Ø         InProc ÉèÖÃΪ½«Session´æ´¢ÔÚ½ø³ÌÄÚ£¬¾ÍÊÇASPÖеĴ洢·½Ê½£¬ÕâÊÇĬÈÏÖµ£¬
    Ø         StateServer ÉèÖÃΪ½«Session´æ´¢ÔÚ¶ÀÁ¢µÄ״̬·þÎñÖУ¬
    Ø         SQLServer ÉèÖý«Session´æ´¢ÔÚSQL ServerÖС£





    ¿ÉÑ¡µÄÊôÐÔÊÇ£º ÊôÐÔ Ñ¡Ïî ÃèÊö
    Ø         cookieless ÉèÖÿͻ§¶ËµÄSessionÐÅÏ¢´æ´¢µ½ÄÄÀ
    Ø         ture ʹÓÃCookielessģʽ£¬
    Ø         false ʹÓÃCookieģʽ£¬ÕâÊÇĬÈÏÖµ£¬
    Ø         timeout ÉèÖþ­¹ý¶àÉÙ·ÖÖÓºó·þÎñÆ÷×Ô¶¯·ÅÆúSessionÐÅÏ¢£¬Ä¬ÈÏΪ20·ÖÖÓ¡£
    stateConnectionString ÉèÖý«SessionÐÅÏ¢´æ´¢ÔÚ״̬·þÎñÖÐʱʹÓõķþÎñÆ÷Ãû³ÆºÍ¶Ë¿ÚºÅ£¬ÀýÈ磺"tcpip=127.0.0.1:42424¡±¡£µ±modeµÄÖµÊÇStateServerÊÇ£¬Õâ¸öÊôÐÔÊDZØÐèµÄ¡£
    sqlConnectionString ÉèÖÃÓëSQL ServerÁ¬½ÓʱµÄÁ¬½Ó×Ö·û´®¡£ÀýÈç"data source= localhost;Integrated Security=SSPI;Initial Catalog=northwind"¡£µ±modeµÄÖµÊÇ SQLServerʱ£¬Õâ¸öÊôÐÔÊDZØÐèµÄ¡£
    stateNetworkTimeout ÉèÖõ±Ê¹ÓÃStateServerģʽ´æ´¢Session״̬ʱ£¬¾­¹ý¶àÉÙÃë¿ÕÏк󣬶ϿªWeb·þÎñÆ÷Óë´æ´¢×´Ì¬ÐÅÏ¢µÄ·þÎñÆ÷µÄTCP/IPÁ¬½ÓµÄ¡£Ä¬ÈÏÖµÊÇ10ÃëÖÓ¡£





    ASP.NETÖпͻ§¶ËSession״̬µÄ´æ´¢
    ¡¡¡¡ÔÚÎÒÃÇÉÏÃæµÄSessionÄ£Ðͼò½éÖУ¬´ó¼Ò¿ÉÒÔ·¢ÏÖSession״̬Ӧ¸Ã´æ´¢ÔÚÁ½¸öµØ·½£¬·Ö±ðÊÇ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¡£¿Í»§¶ËÖ»¸ºÔð±£´æÏàÓ¦ÍøÕ¾µÄSessionID£¬¶øÆäËûµÄSessionÐÅÏ¢Ôò±£´æÔÚ·þÎñÆ÷¶Ë¡£ÔÚASPÖУ¬¿Í»§¶ËµÄSessionIDʵ¼ÊÊÇÒÔCookieµÄÐÎʽ´æ´¢µÄ¡£Èç¹ûÓû§ÔÚä¯ÀÀÆ÷µÄÉèÖÃÖÐÑ¡ÔñÁ˽ûÓÃCookie£¬ÄÇÄ©ËûÒ²¾ÍÎÞ·¨ÏíÊÜSessionµÄ±ãÀûÖ®´¦ÁË£¬ÉõÖÁÔì³É²»ÄÜ·ÃÎÊijЩÍøÕ¾¡£ÎªÁ˽â¾öÒÔÉÏÎÊÌ⣬ÔÚ ASP.NETÖпͻ§¶ËµÄSessionÐÅÏ¢´æ´¢·½Ê½·ÖΪ£ºCookieºÍCookielessÁ½ÖÖ¡£
    ¡¡¡¡ASP.NETÖУ¬Ä¬ÈÏ״̬Ï£¬ÔÚ¿Í»§¶Ë»¹ÊÇʹÓÃCookie´æ´¢SessionÐÅÏ¢µÄ¡£Èç¹ûÎÒÃÇÏëÔÚ¿Í»§¶ËʹÓÃCookielessµÄ·½Ê½´æ´¢SessionÐÅÏ¢µÄ·½·¨ÈçÏ£º
    ¡¡¡¡ÕÒµ½µ±Ç°WebÓ¦ÓóÌÐòµÄ¸ùĿ¼£¬´ò¿ªWeb.ConfigÎļþ£¬ÕÒµ½Èç϶ÎÂ䣺
    < sessionState
    ¡¡¡¡mode="InProc"
    ¡¡¡¡stateConnectionString="tcpip=127.0.0.1:42424"
    ¡¡¡¡sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
    ¡¡¡¡cookieless="false"
    ¡¡¡¡timeout="20"
    />
    ¡¡¡¡Õâ¶Î»°ÖеÄcookieless="false"¸ÄΪ£ºcookieless="true"£¬ÕâÑù£¬¿Í»§¶ËµÄSessionÐÅÏ¢¾Í²»ÔÙʹÓà Cookie´æ´¢ÁË£¬¶øÊǽ«Æäͨ¹ýURL´æ´¢¡£¹Ø±Õµ±Ç°µÄIE£¬´ò¿ªÒ»¸öÐÂIE£¬ÖØзÃÎʸղŵÄWebÓ¦ÓóÌÐò£¬¾Í»á¿´µ½ÀàËÆÏÂÃæµÄÑù×Ó£º
    ÆäÖУ¬http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245) /default.aspxÖкÚÌå±ê³öµÄ¾ÍÊÇ¿Í»§¶ËµÄSession ID¡£×¢Ò⣬Õâ¶ÎÐÅÏ¢ÊÇÓÉIIS×Ô¶¯¼ÓÉϵģ¬²»»áÓ°ÏìÒÔÇ°Õý³£µÄÁ¬½Ó¡£



    ASP.NETÖзþÎñÆ÷¶ËSession״̬µÄ´æ´¢ ×¼±¸¹¤×÷£º
    ¡¡¡¡ÎªÁËÄúÄܸüºÃµÄÌåÑ鵽ʵÑéÏÖÏó£¬Äú¿ÉÒÔ½¨Á¢Ò»¸ö½Ð×öSessionState.aspxµÄÒ³Ã棬Ȼºó°ÑÒÔÏÂÕâЩ´úÂëÌí¼Óµ½< body>< /body>ÖС£
    < scriptrunat="server">
    Sub Session_Add(sender As Object, e As EventArgs)
    ¡¡ Session("MySession") = text1.Value
    ¡¡ span1.InnerHtml = "Session data updated! < P>Your session contains: < font color=red>" & Session("MySession"). ToString() & "< /font>"
    End Sub
    Sub CheckSession(sender As Object, eAs EventArgs)
    ¡¡ If (Session("MySession")Is Nothing) Then
    ¡¡¡¡¡¡ span1.InnerHtml = "NOTHING, SESSION DATA LOST!"
    ¡¡ Else
    ¡¡¡¡¡¡ span1.InnerHtml = "Your session contains: < font color= red>" & Session("MySession").ToString() & "<   /font>"
    End If
    End Sub
    < /script>
    < formrunat="server"id="Form2">
    ¡¡ < inputid="text1"type="text"runat="server"name="text1">
    ¡¡ < inputtype="submit"runat="server"OnServerClick="Session_Add"
    ¡¡¡¡¡¡¡¡¡¡ value="Add to Session State " id="Submit1"name="Submit1">
    ¡¡ < inputtype="submit"runat="server"OnServerClick="CheckSession"
    ¡¡¡¡¡¡¡¡¡¡ value=" View Session State " id="Submit2"name="Submit2">
    < /form>
    < hrsize="1">
    < fontsize="6">< spanid="span1"runat="server" />< /font>
    ¡¡¡¡Õâ¸öSessionState.aspxµÄÒ³Ãæ¿ÉÒÔÓÃÀ´²âÊÔÔÚµ±Ç°µÄ·þÎñÆ÷ÉÏÊÇ·ñ¶ªÊ§ÁËSessionÐÅÏ¢¡£





    ½«·þÎñÆ÷SessionÐÅÏ¢´æ´¢ÔÚ½ø³ÌÖÐ
    ¡¡¡¡ÈÃÎÒÃÇÀ´»Øµ½Web.configÎļþµÄ¸Õ²ÅÄǶζÎÂäÖУº
    < sessionState
    ¡¡¡¡mode="InProc"
    ¡¡¡¡stateConnectionString="tcpip=127.0.0.1:42424"
    ¡¡¡¡sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
    ¡¡¡¡cookieless="false"
    ¡¡¡¡timeout="20"
    />
    ¡¡¡¡µ±modeµÄÖµÊÇInProcʱ£¬ËµÃ÷·þÎñÆ÷ÕýÔÚʹÓÃÕâÖÖģʽ¡£
    ¡¡¡¡ÕâÖÖ·½Ê½ºÍÒÔÇ°ASPÖеÄģʽһÑù£¬¾ÍÊÇ·þÎñÆ÷½«SessionÐÅÏ¢´æ´¢ÔÚIIS½ø³ÌÖС£µ±IIS¹Ø±Õ¡¢ÖØÆðºó£¬ÕâЩÐÅÏ¢¶¼»á¶ªÊ§¡£µ«ÊÇÕâÖÖģʽҲÓÐ×Ô¼º×î´óºÃ´¦£¬¾ÍÊÇÐÔÄÜ×î¸ß¡£Ó¦ÎªËùÓеÄSessionÐÅÏ¢¶¼´æ´¢ÔÚÁËIISµÄ½ø³ÌÖУ¬ËùÒÔIISÄܹ»ºÜ¿ìµÄ·ÃÎʵ½ÕâЩÐÅÏ¢£¬ÕâÖÖģʽµÄÐÔÄܱȽø³ÌÍâ´æ´¢SessionÐÅÏ¢»òÊÇÔÚSQL ServerÖд洢SessionÐÅÏ¢¶¼Òª¿ìÉϺܶࡣÕâÖÖģʽҲÊÇASP.NETµÄĬÈÏ·½Ê½¡£
    ¡¡¡¡ºÃÁË£¬ÏÖÔÚÈÃÎÒÃÇ×ö¸öÊÔÑé¡£´ò¿ª¸Õ²ÅµÄSessionState.aspxÒ³Ã棬Ëæ±ãÊäÈëһЩ×Ö·û£¬Ê¹Æä´æ´¢ÔÚSessionÖС£È»ºó£¬ÈÃÎÒÃÇÈÃIISÖØÆð¡£×¢Ò⣬²¢²»ÊÇʹµ±Ç°µÄÕ¾µãÍ£Ö¹ÔÙ¿ªÊ¼£¬¶øÊÇÔÚIISÖб¾»úµÄ»úÆ÷ÃûµÄ½ÚµãÉϵã»÷Êó±êÓÒ¼ü£¬Ñ¡ÔñÖØÐÂÆô¶¯IIS¡£(Ïëµ±³õʹÓÃNT4ʱ£¬ÖØÐÂÆô¶¯IIS±ØÐëÒªÖØÐÂÆô¶¯¼ÆËã»ú²ÅÐУ¬Î¢ÈíÕæÊÇ@#$%^&)·µ»Øµ½SessionState.aspxÒ³ÃæÖУ¬¼ì²é¸Õ²ÅµÄSessionÐÅÏ¢£¬·¢ÏÖÐÅÏ¢ÒѾ­¶ªÊ§ÁË¡£



    ½«·þÎñÆ÷SessionÐÅÏ¢´æ´¢ÔÚ½ø³ÌÍâ
    ¡¡¡¡Ê×ÏÈ£¬ÈÃÎÒÃÇÀ´´ò¿ª¹ÜÀí¹¤¾ß->·þÎñ£¬ÕÒµ½ÃûΪ£ºASP.NET State ServiceµÄ·þÎñ£¬Æô¶¯Ëü¡£Êµ¼ÊÉÏ£¬Õâ¸ö·þÎñ¾ÍÊÇÆô¶¯Ò»¸öÒª±£´æSessionÐÅÏ¢µÄ½ø³Ì¡£Æô¶¯Õâ¸ö·þÎñºó£¬Äã¿ÉÒÔ´ÓWindowsÈÎÎñ¹ÜÀíÆ÷->½ø³ÌÖп´µ½Ò»¸öÃûΪ aspnet_state.exeµÄ½ø³Ì£¬Õâ¸ö¾ÍÊÇÎÒÃDZ£´æSessionÐÅÏ¢µÄ½ø³Ì¡£
    ¡¡¡¡È»ºó£¬»Øµ½Web.configÎļþÖÐÉÏÊöµÄ¶ÎÂäÖУ¬½«modeµÄÖµ¸ÄΪStateServer¡£±£´æÎļþºóµÄÖØдò¿ªÒ»¸öIE£¬´ò¿ª SessionState.aspxÒ³Ã棬±£´æһЩÐÅÏ¢µ½SessionÖС£Õâʱ£¬ÈÃÎÒÃÇÖØÆðIIS£¬Ôٻص½SessionState.aspxÒ³ÃæÖв鿴¸Õ²ÅµÄSessionÐÅÏ¢£¬·¢ÏÖûÓжªÊ§¡£
    ¡¡¡¡Êµ¼ÊÉÏ£¬ÕâÖÖ½«SessionÐÅÏ¢´æ´¢ÔÚ½ø³ÌÍâµÄ·½Ê½²»¹âÖ¸¿ÉÒÔ½«ÐÅÏ¢´æ´¢ÔÚ±¾»úµÄ½ø³ÌÍ⣬»¹¿ÉÒÔ½«SessionÐÅÏ¢´æ´¢ÔÚÆäËûµÄ·þÎñÆ÷µÄ½ø³ÌÖС£Õâʱ£¬²»¹âÐèÒª½«modeµÄÖµ¸ÄΪStateServer£¬»¹ÐèÒªÔÚstateConnectionStringÖÐÅäÖÃÏàÓ¦µÄ²ÎÊý¡£ÀýÈçÄãµÄ¼ÆËãÄãÊÇ192.168.0.1£¬ÄãÏë°ÑSession´æ´¢ÔÚIPΪ192.168.0.2µÄ¼ÆËã»úµÄ½ø³ÌÖУ¬¾ÍÐèÒªÉèÖóÉÕâÑù£º stateConnectionString="tcpip=192.168.0.2:42424"¡£µ±È»£¬²»ÒªÍü¼ÇÔÚ192.168.0.2µÄ¼ÆËã»úÖÐ×°ÉÏ.NET Framework£¬²¢ÇÒÆô¶¯ASP.NET State Services·þÎñ¡£



    ½«·þÎñÆ÷SessionÐÅÏ¢´æ´¢ÔÚSQL ServerÖÐ
    ¡¡¡¡Ê×ÏÈ£¬»¹ÊÇÈÃÎÒÃÇÀ´×öһЩ׼±¸¹¤×÷¡£Æô¶¯SQL ServerºÍSQL Server´úÀí·þÎñ¡£ÔÚSQL ServerÖÐÖ´ÐÐÒ»¸ö½Ð×ö InstallSqlState.sqlµÄ½Å±¾Îļþ¡£Õâ¸ö½Å±¾Îļþ½«ÔÚSQL ServerÖд´½¨Ò»¸öÓÃÀ´×¨ÃÅ´æ´¢SessionÐÅÏ¢µÄÊý¾Ý¿â£¬¼°Ò»¸öά»¤SessionÐÅÏ¢Êý¾Ý¿âµÄSQL Server´úÀí×÷Òµ¡£ÎÒÃÇ¿ÉÒÔÔÚÒÔÏ·¾¶ÖÐÕÒµ½ÄǸöÎļþ£º
    [system drive]\winnt\Microsoft.NET\Framework\[version]\
    ¡¡¡¡È»ºó´ò¿ª²éѯ·ÖÎöÆ÷£¬Á¬½Óµ½SQL Server·þÎñÆ÷£¬´ò¿ª¸Õ²ÅµÄÄǸöÎļþ²¢ÇÒÖ´ÐС£ÉÔµÈƬ¿Ì£¬Êý¾Ý¿â¼°×÷Òµ¾Í½¨Á¢ºÃÁË¡£Õâʱ£¬Äã¿ÉÒÔ´ò¿ªÆóÒµ¹ÜÀíÆ÷£¬¿´µ½ÐÂÔöÁËÒ»¸ö½ÐASPStateµÄÊý¾Ý¿â¡£µ«ÊÇÕâ¸öÊý¾Ý¿âÖÐÖ»ÊÇЩ´æ´¢¹ý³Ì£¬Ã»ÓÐÓû§±í¡£Êµ¼ÊÉÏSessionÐÅÏ¢ÊÇ´æ´¢ÔÚÁËtempdb Êý¾Ý¿âµÄASPStateTempSessions±íÖеģ¬ÁíÍâÒ»¸öASPStateTempApplications±í´æ´¢ÁËASPÖÐ Application¶ÔÏóÐÅÏ¢¡£ÕâÁ½¸ö±íÒ²ÊǸղŵÄÄǸö½Å±¾½¨Á¢µÄ¡£ÁíÍâ²é¿´¹ÜÀí->SQL Server´úÀí->×÷Òµ£¬·¢ÏÖÒ²¶àÁËÒ»¸ö½Ð×öASPState_Job_DeleteExpiredSessionsµÄ×÷Òµ£¬Õâ¸ö×÷ҵʵ¼ÊÉϾÍÊÇÿ·ÖÖÓÈ¥ASPStateTempSessions ±íÖÐɾ³ý¹ýÆÚµÄSessionÐÅÏ¢µÄ¡£
    ¡¡¡¡½Ó×Å£¬ÎÒÃÇ·µ»Øµ½Web.configÎļþ£¬ÐÞ¸ÄmodeµÄÖµ¸ÄΪSQLServer¡£×¢Ò⣬»¹ÒªÍ¬Ê±ÐÞ¸ÄsqlConnectionStringµÄÖµ£¬¸ñʽΪ£º
    sqlConnectionString="data source=localhost; Integrated Security=SSPI;"
    ¡¡¡¡ÆäÖÐdata sourceÊÇÖ¸SQL Server·þÎñÆ÷µÄIPµØÖ·£¬Èç¹ûSQL ServerÓëIISÊÇһ̨»ú×Ó£¬Ð´127.0.0.1 ¾ÍÐÐÁË¡£Integrated Security=SSPIµÄÒâ˼ÊÇʹÓÃWindows¼¯³ÉÉí·ÝÑéÖ¤£¬ÕâÑù£¬·ÃÎÊÊý¾Ý¿â½«ÒÔASP.NETµÄÉí·Ý½øÐУ¬Í¨¹ýÈç´ËÅäÖã¬Äܹ»»ñµÃ±ÈʹÓÃuserid=sa;password=¿ÚÁîµÄSQL ServerÑéÖ¤·½Ê½¸üºÃµÄ°²È«ÐÔ¡£µ±È»£¬Èç¹ûSQL ServerÔËÐÐÓÚÁíһ̨¼ÆËã»úÉÏ£¬Äã¿ÉÄÜ»áÐèҪͨ¹ýActive DirectoryÓòµÄ·½Ê½À´Î¬»¤Á½±ßÑéÖ¤µÄÒ»ÖÂÐÔ¡£
    ¡¡¡¡Í¬Ñù£¬ÈÃÎÒÃÇ×ö¸öÊÔÑé¡£ÏòSessionState.aspxÖÐÌí¼ÓSessionÐÅÏ¢£¬Õâʱ·¢ÏÖSessionÐÅÏ¢ÒѾ­´æÔÚ SQL ServerÖÐÁË£¬¼´Ê¹ÄãÖØÆð¼ÆËã»ú£¬¸Õ²ÅµÄSessionÐÅÏ¢Ò²²»»á¶ªÊ§¡£ÏÖÔÚ£¬ÄãÒѾ­ÍêÈ«¿´¼ûÁËSessionÐÅÏ¢µ½µ×ÊÇʲôÑù×ÓµÄÁË£¬¶øÇÒÓÖÊÇ´æ´¢ÔÚSQL ServerÖеģ¬ÄܸÉʲô¾Í¿´ÄãµÄ·¢»ÓÁË¡£

    ×ܽá
    ¡¡¡¡Í¨¹ýÕâƪÎÄÕ£¬Äã¿ÉÒÔ¿´µ½ÔÚSessionµÄ¹ÜÀíºÍά»¤ÉÏ£¬ASP.NET±ÈASPÓÐÁ˺ܴóµÄ½ø²½£¬ÎÒÃÇ¿ÉÒÔ¸ü¼ÓËæÒâµÄÌôÑ¡Êʺϵķ½·¨ÁË¡£¶ÔÓÚÆóÒµ¼¶µÄÓ¦ÓÃÀ´Ëµ£¬ÕâÎÞÒɶÔÓÚ·þÎñÆ÷µÄͬ²½¡¢·þÎñÆ÷µÄÎȶ¨ÐÔ¡¢¿É¿¿ÐÔ¶¼ÊÇÓÐÀûµÄ¡£ÏàÐÅÔÚÇ¿´óµÄ΢ÈíÖ§³ÖÏ£¬ÐÂÒ»´úµÄµç×ÓÉÌÎñƽ̨½«»á´î½¨µÄ¸üºÃ£¡
            Í¬Ê±£¬´ó¼ÒÒ²»á·¢ÏÖ£¬ÔÚÕâ¸öÕû¸ö¼¼ÊõÖаüÀ¨Á˲Ù×÷ϵͳ¡¢Web·þÎñ¼°Êý¾Ý¿â¶àÖÖ¼¼ÊõµÄÕûºÏ¡£ÎÒÏàÐÅ£¬Ò²ÐíWindowsûÓÐUnixÎȶ¨£¬ IISûÓÐApacheÎȶ¨£¬SQL ServerҲûÓÐOracleÇ¿´ó£¬µ«ÊÇ£¬Ë­¿ÉÒÔ½«ËûÃÇÈç´ËÍêÃÀµÄÁª¶¯µ½Ò»ÆðÄØ£¿ËùÒÔ˵£¬ËäȻ΢Èíÿһ·½Ã涼²»ÊÇÌ«Ç¿£¬µ«ÊÇÈç¹û°Ñ΢ÈíµÄ¶«Î÷¶¼ÕûºÏµ½Ò»Æð£¬Ë­¸Ò˵Ëû²»Ç¿´óÄØ£¿Î¢Èí¾ÍÊÇ΢Èí£¡



    Èý¡¢Asp.net ¹ØÓÚformÈÏÖ¤µÄÒ»°ãÉèÖÃ
    asp.net ¹ØÓÚformÈÏÖ¤µÄÒ»°ãÉèÖãº
    1: ÔÚweb.configÖУ¬¼ÓÈëformÈÏÖ¤£»
       <authentication mode="Forms">
                <forms name="auth" loginUrl="index.aspx" timeout="30"></forms>
    </authentication>
    <authorization>
            <deny users="?" />
    </authorization>
    2: Èç¹ûÓÐ×¢²áÒ³Ãæʱ»¹Ó¦¸ÃÔÊÐíÄäÃûÓû§µ÷ÓÃ×¢²áÒ³Ãæ½øÐÐ×¢²á;
    ÒÔÏ´úÂëÓ¦¸ÃÔÚ<configuration><system.web>Ö®¼ä,¶ø²»Ó¦¸Ã°üº¬µ½<system.web>..</system.web>Ö®¼ä;
    ----------------±íʾÔÊÐí ÄäÃûÓû§¶Ô userReg.aspxÒ³Ãæ½øÐзÃÎÊ.
    <location path="userReg.aspx">
      <system.web>
         <authorization>
             <allow users="?" />
         </authorization>
      </system.web>
    </location>
    3 ÔڵǼ³É¹¦ºóÒª´´½¨Éí·ÝÑé֤Ʊ, ±íÃ÷ÒѾ­Í¨¹ýÈÏÖ¤µÄºÏ·¨Óû§;
    if(µÇ½³É¹¦)

    System.Web.Security.FormsAuthentication.SetAuthCookie(Óû§Ãû³Æ, false);
    ¡¡¡¡ËÄ¡¢·ÃÎÊWeb.configÎļþ
    ¡¡¡¡Äã¿ÉÒÔͨ¹ýʹÓÃConfigurationSettings.AppSettings ¾²Ì¬×Ö·û´®¼¯ºÏÀ´·ÃÎÊ Web.config ÎļþʾÀý£º»ñÈ¡ÉÏÃæÀý×ÓÖн¨Á¢µÄÁ¬½Ó×Ö·û´®¡£ÀýÈ磺

    protected static string Isdebug = ConfigurationSettings.AppSettings["scon"]

  • .NetÖжÑÓëÕ»µÄÇø±ð

    2009-03-19 21:45:42

    .NetÖжÑÓëÕ»µÄÇø±ð

    Ô­Îijö´¦£ºhttp://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx

    ¾¡¹ÜÔÚ.NET frameworkÏÂÎÒÃDz¢²»ÐèÒªµ£ÐÄÄÚ´æ¹ÜÀíºÍÀ¬»ø»ØÊÕ(Garbage Collection)£¬µ«ÊÇÎÒÃÇ»¹ÊÇÓ¦¸ÃÁ˽âËüÃÇ£¬ÒÔÓÅ»¯ÎÒÃǵÄÓ¦ÓóÌÐò¡£Í¬Ê±£¬»¹ÐèÒª¾ß±¸Ò»Ð©»ù´¡µÄÄÚ´æ¹ÜÀí¹¤×÷»úÖƵÄ֪ʶ£¬ÕâÑùÄܹ»ÓÐÖúÓÚ½âÊÍÎÒÃÇÈÕ³£³ÌÐò±àдÖеıäÁ¿µÄÐÐΪ¡£ÔÚ±¾ÎÄÖÐÎÒ½«½²½âÕ»ºÍ¶ÑµÄ»ù±¾ÖªÊ¶£¬±äÁ¿ÀàÐÍÒÔ¼°ÎªÊ²Ã´Ò»Ð©±äÁ¿Äܹ»°´ÕÕËüÃÇ×Ô¼ºµÄ·½Ê½¹¤×÷¡£

    ÔÚ.NET framework»·¾³Ï£¬µ±ÎÒÃǵĴúÂëÖ´ÐÐʱ£¬ÄÚ´æÖÐÓÐÁ½¸öµØ·½ÓÃÀ´´æ´¢ÕâЩ´úÂë¡£¼ÙÈçÄã²»ÔøÁ˽⣬ÄǾÍÈÃÎÒÀ´¸øÄã½éÉÜÕ»(Stack)ºÍ¶Ñ(Heap)¡£Õ»ºÍ¶Ñ¶¼ÓÃÀ´°ïÖúÎÒÃÇÔËÐдúÂëµÄ£¬ËüÃÇפÁôÔÚ»úÆ÷ÄÚ´æÖУ¬ÇÒ°üº¬ËùÓдúÂëÖ´ÐÐËùÐèÒªµÄÐÅÏ¢¡£


    * Õ»vs¶Ñ£ºÓÐʲô²»Í¬£¿

    Õ»¸ºÔð±£´æÎÒÃǵĴúÂëÖ´ÐУ¨»òµ÷Óã©Â·¾¶,¶ø¶ÑÔò¸ºÔð±£´æ¶ÔÏ󣨻òÕß˵Êý¾Ý£¬½ÓÏÂÀ´½«Ì¸µ½ºÜ¶à¹ØÓڶѵÄÎÊÌ⣩µÄ·¾¶¡£

    ¿ÉÒÔ½«Õ»ÏëÏó³ÉÒ»¶Ñ´Ó¶¥Ïò϶ѵþµÄºÐ×Ó¡£µ±Ã¿µ÷ÓÃÒ»´Î·½·¨Ê±£¬ÎÒÃǽ«Ó¦ÓóÌÐòÖÐËùÒª·¢ÉúµÄÊÂÇé¼Ç¼ÔÚÕ»¶¥µÄÒ»¸öºÐ×ÓÖÐ,¶øÎÒÃÇÿ´ÎÖ»Äܹ»Ê¹ÓÃÕ»¶¥µÄÄǸöºÐ×Ó¡£µ±ÎÒÃÇÕ»¶¥µÄºÐ×Ó±»Ê¹ÓÃÍêÖ®ºó£¬»òÕß˵·½·¨Ö´ÐÐÍê±ÏÖ®ºó£¬ÎÒÃǽ«Å׿ªÕâ¸öºÐ×ÓÈ»ºó¼ÌÐøʹÓÃÕ»¶¥ÉϵÄкÐ×Ó¡£¶ÑµÄ¹¤×÷Ô­Àí±È½ÏÏàËÆ£¬µ«´ó¶àÊýʱºò¶ÑÓÃ×÷±£´æÐÅÏ¢¶ø·Ç±£´æÖ´Ðз¾¶£¬Òò´Ë¶ÑÄܹ»ÔÚÈÎÒâʱ¼ä±»·ÃÎÊ¡£ÓëÕ»Ïà±È¶ÑûÓÐÈκηÃÎÊÏÞÖÆ£¬¶Ñ¾ÍÏñ´²ÉϵľÉÒ·þ£¬ÎÒÃDz¢Ã»Óл¨Ê±¼äÈ¥ÕûÀí£¬ÄÇÊÇÒòΪ¿ÉÒÔËæʱÕÒµ½Ò»¼þÎÒÃÇÐèÒªµÄÒ·þ£¬¶øÕ»¾ÍÏñ´¢Îï¹ñÀï¶ÑµþµÄЬºÐ£¬ÎÒÃÇÖ»ÄÜ´Ó×²ãµÄºÐ×Ó¿ªÊ¼È¡£¬Ö±µ½·¢ÏÖÄÇÖ»ºÏÊʵġ£

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ÒÔÉÏͼƬ²¢²»ÊÇÄÚ´æÖÐÕæʵµÄ±íÏÖÐÎʽ£¬µ«Äܹ»°ïÖúÎÒÃÇÇø·ÖÕ»ºÍ¶Ñ¡£

    Õ»ÊÇ×ÔÐÐά»¤µÄ£¬Ò²¾ÍÊÇ˵ÄÚ´æ×Ô¶¯Î¬»¤Õ»£¬µ±Õ»¶¥µÄºÐ×Ó²»ÔÙ±»Ê¹Óã¬Ëü½«±»Å׳ö¡£Ïà·´µÄ£¬¶ÑÐèÒª¿¼ÂÇÀ¬»ø»ØÊÕ£¬À¬»ø»ØÊÕÓÃÓÚ±£³Ö¶ÑµÄÕû½àÐÔ£¬Ã»ÓÐÈËÔ¸Òâ¿´µ½ÖÜΧ¶¼ÊÇÔßÒ·þ£¬ÄǼòֱ̫³ôÁË£¡


    * Õ»ºÍ¶ÑÀïÓÐЩʲô£¿

    µ±ÎÒÃǵĴúÂëÖ´ÐеÄʱºò£¬Õ»ºÍ¶ÑÖÐÖ÷Òª·ÅÖÃÁËËÄÖÖÀàÐ͵ÄÊý¾Ý£ºÖµÀàÐÍ(Value Type)£¬ÒýÓÃÀàÐÍ(Reference Type)£¬Ö¸Õë(Pointer)£¬Ö¸Áî(Instruction)¡£

    1.ÖµÀàÐÍ£º

    ÔÚC#ÖУ¬ËùÓб»ÉùÃ÷ΪÒÔÏÂÀàÐ͵ÄÊÂÎï±»³ÆΪֵÀàÐÍ£º

    • bool 
    • byte 
    • char 
    • decimal 
    • double 
    • enum 
    • float 
    • int 
    • long 
    • sbyte 
    • short 
    • struct 
    • uint 
    • ulong 
    • ushort

    2.ÒýÓÃÀàÐÍ£º

    ËùÓеı»ÉùÃ÷ΪÒÔÏÂÀàÐ͵ÄÊÂÎï±»³ÆΪÒýÓÃÀàÐÍ£º
    • class 
    • interface 
    • delegate 
    • object 
    • string

    3.Ö¸Õ룺

    ÔÚÄÚ´æ¹ÜÀí·½°¸ÖзÅÖõĵÚÈýÖÖÀàÐÍÊÇÀàÐÍÒýÓã¬ÒýÓÃͨ³£¾ÍÊÇÒ»¸öÖ¸Õë¡£ÎÒÃDz»»áÏÔʾµÄʹÓÃÖ¸Õ룬ËüÃÇÓɹ«¹²ÓïÑÔÔËÐÐʱ£¨CLR£©À´¹ÜÀí¡£Ö¸Õ루»òÒýÓã©ÊDz»Í¬ÓÚÒýÓÃÀàÐ͵ģ¬ÊÇÒòΪµ±ÎÒÃÇ˵ij¸öÊÂÎïÊÇÒ»¸öÒýÓÃÀàÐÍʱ¾ÍÒâζ×ÅÎÒÃÇÊÇͨ¹ýÖ¸ÕëÀ´·ÃÎÊËüµÄ¡£Ö¸ÕëÊÇÒ»¿éÄÚ´æ¿Õ¼ä£¬¶øËüÖ¸ÏòÁíÒ»¸öÄÚ´æ¿Õ¼ä¡£¾ÍÏñÕ»ºÍ¶ÑÒ»Ñù£¬Ö¸ÕëҲͬÑùÒªÕ¼ÓÃÄÚ´æ¿Õ¼ä£¬µ«ËüµÄÖµÊÇÒ»¸öÄÚ´æµØÖ·»òÕßΪ¿Õ¡£

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    4.Ö¸Á

    ÔÚºóÃæµÄÎÄÕÂÖÐÄã»á¿´µ½Ö¸ÁîÊÇÈçºÎ¹¤×÷µÄ...


    * ÈçºÎ¾ö¶¨·ÅÄĶù?

    ÕâÀïÓÐÒ»Ìõ»Æ½ð¹æÔò:

    1. ÒýÓÃÀàÐÍ×ÜÊÇ·ÅÔÚ¶ÑÖС£(¹»¼òµ¥µÄ°É?)

    2. ÖµÀàÐͺÍÖ¸Õë×ÜÊÇ·ÅÔÚËüÃDZ»ÉùÃ÷µÄµØ·½¡£(ÕâÌõÉÔ΢¸´Ôӵ㣬ÐèÒªÖªµÀÕ»ÊÇÈçºÎ¹¤×÷µÄ£¬È»ºó²ÅÄܶ϶¨ÊÇÔÚÄĶù±»ÉùÃ÷µÄ¡£)

    ¾ÍÏñÎÒÃÇÏÈÇ°Ìáµ½µÄ£¬Õ»ÊǸºÔð±£´æÎÒÃǵĴúÂëÖ´ÐÐ(»òµ÷ÓÃ)ʱµÄ·¾¶¡£µ±ÎÒÃǵĴúÂ뿪ʼµ÷ÓÃÒ»¸ö·½·¨Ê±,½«·ÅÖÃÒ»¶Î±àÂëÖ¸Áî(ÔÚ·½·¨ÖÐ)µ½Õ»ÉÏ,½ô½Ó×Å·ÅÖ÷½·¨µÄ²ÎÊý£¬È»ºó´úÂëÖ´Ðе½·½·¨Öеı»¡°Ñ¹Õ»¡±ÖÁÕ»¶¥µÄ±äÁ¿Î»Öá£Í¨¹ýÒÔÏÂÀý×ÓºÜÈÝÒ×Àí½â...

    ÏÂÃæÊÇÒ»¸ö·½·¨£¨Method£©:
     
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> AddFive(<STRONG class=k>int</STRONG> pValue)   
    2. {   
    3.     <STRONG class=k>int</STRONG> result;   
    4.     result = pValue + 5;   
    5.     <STRONG class=k>return</STRONG> result;   
    6. }  

              
    ÏÖÔÚ¾ÍÀ´¿´¿´ÔÚÕ»¶¥·¢ÉúÁËЩʲô£¬¼ÇסÎÒÃÇËù¹Û²ìµÄÕ»¶¥ÏÂʵ¼ÊÒѾ­Ñ¹ÈëÁËÐí¶à±ðµÄÄÚÈÝ¡£

    Ê×ÏÈ·½·¨£¨Ö»°üº¬ÐèÒªÖ´ÐеÄÂß¼­×Ö½Ú£¬¼´Ö´Ðи÷½·¨µÄÖ¸Á¶ø·Ç·½·¨ÌåÄÚµÄÊý¾Ý£©ÈëÕ»£¬½ô½Ó×ÅÊÇ·½·¨µÄ²ÎÊýÈëÕ»¡££¨ÎÒÃǽ«ÔÚºóÃæÌÖÂÛ¸ü¶àµÄ²ÎÊý´«µÝ£©

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ½Ó×Å£¬¿ØÖÆ£¨¼´Ö´Ðз½·¨µÄỊ̈߳©±»´«µÝµ½¶ÑÕ»ÖÐAddFive()µÄÖ¸ÁîÉÏ£¬

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    µ±·½·¨Ö´ÐÐʱ£¬ÎÒÃÇÐèÒªÔÚÕ»ÉÏΪ¡°result¡±±äÁ¿·ÖÅäһЩÄڴ棬

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    The method finishes execution and our result is returned.
    ·½·¨Ö´ÐÐÍê³É£¬È»ºó·½·¨µÄ½á¹û±»·µ»Ø¡£

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ͨ¹ý½«Õ»Ö¸ÕëÖ¸ÏòAddFive()·½·¨ÔøʹÓõĿÉÓõÄÄÚ´æµØÖ·£¬ËùÓÐÔÚÕ»Éϵĸ÷½·¨ËùʹÓÃÄڴ涼±»Çå¿Õ£¬ÇÒ³ÌÐò½«×Ô¶¯»Øµ½Õ»ÉÏ×î³õµÄ·½·¨µ÷ÓõÄλÖÃ(ÔÚ±¾ÀýÖв»»á¿´µ½)¡£

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃǵÄ"result"±äÁ¿ÊDZ»·ÅÖÃÔÚÕ»Éϵģ¬ÊÂʵÉÏ£¬µ±ÖµÀàÐÍÊý¾ÝÔÚ·½·¨ÌåÖб»ÉùÃ÷ʱ£¬ËüÃǶ¼ÊDZ»·ÅÖÃÔÚÕ»Éϵġ£

    ÖµÀàÐÍÊý¾ÝÓÐʱҲ±»·ÅÖÃÔÚ¶ÑÉÏ¡£¼ÇסÕâÌõ¹æÔò--ÖµÀàÐÍ×ÜÊÇ·ÅÔÚËüÃDZ»ÉùÃ÷µÄµØ·½¡£ºÃµÄ£¬Èç¹ûÒ»¸öÖµÀàÐÍÊý¾ÝÔÚ·½·¨ÌåÍâ±»ÉùÃ÷£¬ÇÒ´æÔÚÓÚÒ»¸öÒýÓÃÀàÐÍÖУ¬ÄÇôËü½«±»¶ÑÖеÄÒýÓÃÀàÐÍËùÈ¡´ú¡£


    À´¿´ÁíÒ»¸öÀý×Ó£º

    ¼ÙÈçÎÒÃÇÓÐÕâÑùÒ»¸öMyIntÀࣨËüÊÇÒýÓÃÀàÐÍÒòΪËüÊÇÒ»¸öÀàÀàÐÍ£©£º
     
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>class</STRONG> MyInt   
    2. {   
    3.     <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> MyValue;   
    4. }  

    È»ºóÖ´ÐÐÏÂÃæµÄ·½·¨:
     
    1. <STRONG class=k>public</STRONG> MyInt AddFive(<STRONG class=k>int</STRONG> pValue)   
    2. {   
    3.     MyInt result = <STRONG class=k>new</STRONG> MyInt();   
    4.     result.MyValue = pValue + 5;   
    5.     <STRONG class=k>return</STRONG> result;   
    6. }  

    ¾ÍÏñÇ°ÃæÌáµ½µÄ£¬·½·¨¼°·½·¨µÄ²ÎÊý±»·ÅÖõ½Õ»ÉÏ£¬½ÓÏÂÀ´£¬¿ØÖƱ»´«µÝµ½¶ÑÕ»ÖÐAddFive()µÄÖ¸ÁîÉÏ¡£
    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ½Ó×Å»á³öÏÖһЩÓÐȤµÄÏÖÏó...

    ÒòΪ"MyInt"ÊÇÒ»¸öÒýÓÃÀàÐÍ,Ëü½«±»·ÅÖÃÔÚ¶ÑÉÏ,ͬʱÔÚÕ»ÉÏÉú³ÉÒ»¸öÖ¸ÏòÕâ¸ö¶ÑµÄÖ¸ÕëÒýÓá£
    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ÔÚAddFive()·½·¨±»Ö´ÐÐÖ®ºó£¬ÎÒÃǽ«Çå¿Õ...
    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ÎÒÃǽ«Ê£Ï¹¶ÀµÄMyInt¶ÔÏóÔÚ¶ÑÖУ¨Õ»Öн«²»»á´æÔÚÈκÎÖ¸ÏòMyInt¶ÔÏóµÄÖ¸Õë!£©
    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    Õâ¾ÍÊÇÀ¬»ø»ØÊÕÆ÷£¨ºó¼ò³ÆGC£©Æð×÷Óõĵط½¡£µ±ÎÒÃǵijÌÐò´ïµ½ÁËÒ»¸öÌض¨µÄÄÚ´æ·§Öµ£¬ÎÒÃÇÐèÒª¸ü¶àµÄ¶Ñ¿Õ¼äµÄʱºò£¬GC¿ªÊ¼Æð×÷Óá£GC½«Í£Ö¹ËùÓÐÕýÔÚÔËÐеÄỊ̈߳¬ÕÒ³öÔÚ¶ÑÖдæÔÚµÄËùÓв»ÔÙ±»Ö÷³ÌÐò·ÃÎʵĶÔÏ󣬲¢É¾³ýËüÃÇ¡£È»ºóGC»áÖØÐÂ×éÖ¯¶ÑÖÐËùÓÐʣϵĶÔÏóÀ´½ÚÊ¡¿Õ¼ä£¬²¢µ÷ÕûÕ»ºÍ¶ÑÖÐËùÓÐÓëÕâЩ¶ÔÏóÏà¹ØµÄÖ¸Õë¡£Äã¿Ï¶¨»áÏëµ½Õâ¸ö¹ý³Ì·Ç³£ºÄ·ÑÐÔÄÜ£¬ËùÒÔÕâʱÄã¾Í»áÖªµÀΪʲôÎÒÃÇÐèÒªÈç´ËÖØÊÓÕ»ºÍ¶ÑÀïÓÐЩʲô£¬ÌرðÊÇÔÚÐèÒª±àд¸ßÐÔÄܵĴúÂëʱ¡£

    Ok... ÕâÌ«°ôÁË, µ±ËüÊÇÈçºÎÓ°ÏìÎҵģ¿

    Good question.  

    µ±ÎÒÃÇʹÓÃÒýÓÃÀàÐÍʱ£¬ÎÒÃÇʵ¼ÊÊÇÔÚ´¦Àí¸ÃÀàÐ͵ÄÖ¸Õ룬¶ø·Ç¸ÃÀàÐͱ¾Éí¡£µ±ÎÒÃÇʹÓÃÖµÀàÐÍʱ£¬ÎÒÃÇÊÇÔÚʹÓÃÖµÀàÐͱ¾Éí¡£ÌýÆðÀ´ºÜÃÔºý°É£¿

    ͬÑù£¬Àý×ÓÊÇ×îºÃµÄÃèÊö¡£

    ¼ÙÈçÎÒÃÇÖ´ÐÐÒÔϵķ½·¨£º
     
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> ReturnValue()   
    2. {   
    3.     <STRONG class=k>int</STRONG> x = <STRONG class=k>new</STRONG> <STRONG class=k>int</STRONG>();   
    4.     x = 3;   
    5.     <STRONG class=k>int</STRONG> y = <STRONG class=k>new</STRONG> <STRONG class=k>int</STRONG>();   
    6.     y = x;   
    7.     y = 4;   
    8.     <STRONG class=k>return</STRONG> x;   
    9. }  

    ÎÒÃǽ«µÃµ½Öµ3£¬ºÜ¼òµ¥£¬¶Ô°É£¿

    ¼ÙÈçÎÒÃÇÊ×ÏÈʹÓÃMyIntÀà
    <STRONG class=k>public</STRONG> <STRONG class=k>class</STRONG> MyInt   
    1. {   
    2.     <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> MyValue;   
    3. }  

    ½Ó×ÅÖ´ÐÐÒÔϵķ½·¨£º
     
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> ReturnValue2()   
    2. {   
    3.     MyInt x = <STRONG class=k>new</STRONG> MyInt();   
    4.     x.MyValue = 3;   
    5.     MyInt y = <STRONG class=k>new</STRONG> MyInt();   
    6.     y = x;   
    7.     y.MyValue = 4;   
    8.     <STRONG class=k>return</STRONG> x.MyValue;   
    9. }  

    ÎÒÃǽ«µÃµ½Ê²Ã´£¿...    4!

    Ϊʲô£¿...  x.MyValueÔõô»á±ä³É4ÁËÄØ£¿...  ¿´¿´ÎÒÃÇËù×öµÄÈ»ºó¾ÍÖªµÀÊÇÔõô»ØÊÂÁË£º

    ÔÚµÚÒ»Àý×ÓÖУ¬Ò»Çж¼Ïñ¼Æ»®µÄÄÇÑù½øÐÐ×Å£º
     
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> ReturnValue()   
    2. {   
    3.     <STRONG class=k>int</STRONG> x = 3;   
    4.     <STRONG class=k>int</STRONG> y = x;   
    5.     y = 4;   
    6.     <STRONG class=k>return</STRONG> x;   
    7. }  

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    ÔÚµÚ¶þ¸öÀý×ÓÖУ¬ÎÒÃÇûÓеõ½"3"ÊÇÒòΪ±äÁ¿"x"ºÍ"y"¶¼Í¬Ê±Ö¸ÏòÁ˶ÑÖÐÏàͬµÄ¶ÔÏó¡£
     
    1. <STRONG class=k>public</STRONG> <STRONG class=k>int</STRONG> ReturnValue2()   
    2. {   
    3.     MyInt x;   
    4.     x.MyValue = 3;   
    5.     MyInt y;   
    6.     y = x;   
    7.     y.MyValue = 4;   
    8.     <STRONG class=k>return</STRONG> x.MyValue;   
    9. }  

    µ¥»÷ÏÔʾȫͼ£¬Ctrl+¹öÂÖËõ·ÅͼƬ

    Ï£ÍûÒÔÉÏÄÚÈÝÄܹ»Ê¹Äã¶ÔC#ÖеÄÖµÀàÐͺÍÒýÓÃÀàÐ͵Ļù±¾Çø±ðÓÐÒ»¸ö¸üºÃµÄÈÏʶ£¬²¢ÇÒ¶ÔÖ¸Õë¼°Ö¸ÕëÊǺÎʱ±»Ê¹ÓõÄÓÐÒ»¶¨µÄ»ù±¾Á˽⡣ÔÚϵÁеÄÏÂÒ»¸ö²¿·Ö£¬ÎÒÃǽ«ÉîÈëÄÚ´æ¹ÜÀí²¢×¨ÃÅÌÖÂÛ·½·¨²ÎÊý¡£ 
  • web½çÃæ²âÊÔÓÃÀý

    2009-03-19 14:24:24

    ת×ÔÎÔÁú¹«×ӵĿռ䣺http://www.51testing.com/?161964/action_viewspace_itemid_76943.html

    ½çÃæ²âÊÔÓÃÀý

    Ò»¡¢Îı¾¿ò¡¢°´Å¥µÈ¿Ø¼þ²âÊÔ51TestingÈí¼þ²âÊÔÍøK_$\7b+K)DK

    1¡¢Îı¾¿òµÄ²âÊÔ51TestingÈí¼þ²âÊÔÍø#DUS0W1ft"MP

    ÈçºÎ¶ÔÎı¾¿ò½øÐвâÊÔ£º51TestingÈí¼þ²âÊÔÍø"]_)I,gb#w

    a¡¢ÊäÈëÕý³£µÄ×Öĸ»òÊý×Ö£»
    hygk4e160281b¡¢ÊäÈëÒÑ´æÔÚµÄÎļþµÄÃû³Æ£»
    "N e-H r%[160281c¡¢ÊäÈ볬³¤×Ö·û¡£ÀýÈçÔÚ¡°Ãû³Æ¡±¿òÖÐÊäÈ볬¹ýÔÊÐí±ß½ç¸öÊýµÄ×Ö·û£¬¼ÙÉè×î¶à255¸ö×Ö·û£¬³¢ÊÔÊäÈë256¸ö×Ö·û£¬¼ì²é³ÌÐòÄÜ·ñÕýÈ·´¦Àí£»51TestingÈí¼þ²âÊÔÍø4|w P/nMG
    d¡¢ÊäÈëĬÈÏÖµ£¬¿Õ°×£¬¿Õ¸ñ£»
    Zh!i^*W;l&q2sy160281e¡¢ÈôÖ»ÔÊÐíÊäÈë×Öĸ£¬³¢ÊÔÊäÈëÊý×Ö£»·´Ö®£¬³¢ÊÔÊäÈë×Öĸ£»
    e!A/@5P.W5co`M160281f¡¢ÀûÓø´ÖÆ£¬Õ³ÌùµÈ²Ù×÷Ç¿ÖÆÊäÈë³ÌÐò²»ÔÊÐíµÄÊäÈëÊý¾Ý£»
    o}y6PkuIv160281g¡¢ÊäÈëÌØÊâ×Ö·û¼¯£¬ÀýÈ磬NUL¼°\nµÈ£»51TestingÈí¼þ²âÊÔÍø:BU4KV Xf#@k `
    h¡¢ÊäÈ볬¹ýÎı¾¿ò³¤¶ÈµÄ×Ö·û»òÎı¾£¬¼ì²éËùÊäÈëµÄÄÚÈÝÊÇ·ñÕý³£ÏÔʾ£»51TestingÈí¼þ²âÊÔÍø(kcY0j,j XU6J(V
    i¡¢ÊäÈë²»·ûºÏ¸ñʽµÄÊý¾Ý£¬¼ì²é³ÌÐòÊÇ·ñÕý³£Ð£Ñ飬Èç³ÌÐòÒªÇóÊäÈëÄêÔÂÈÕ¸ñʽΪyy/mm/dd£¬Êµ¼ÊÊäÈëyyyy/mm/dd£¬³ÌÐòÓ¦¸Ã¸ø³ö´íÎóÌáʾ¡£
    51TestingÈí¼þ²âÊÔÍø;R!dV` UcJ

    ÔÚ²âÊÔ¹ý³ÌÖÐËùÓõ½µÄ²âÊÔ·½·¨£º

    e u1~;^4A+V160281

    1¡¢ÊäÈë·Ç·¨Êý¾Ý£»51TestingÈí¼þ²âÊÔÍø7?9e|*{1r?
    2¡¢ÊäÈëĬÈÏÖµ£»
    #v g+vt6x0w!pJ1602813¡¢ÊäÈëÌØÊâ×Ö·û¼¯£»
    { C B'j.bq8K d+J5E S-I7X1602814¡¢ÊäÈëʹ»º³åÇøÒç³öµÄÊý¾Ý£»51TestingÈí¼þ²âÊÔÍøz{"HV2pnY
    5¡¢ÊäÈëÏàͬµÄÎļþÃû£»

    yraK,l160281

    2¡¢ÃüÁî°´Å¥¿Ø¼þµÄ²âÊÔ51TestingÈí¼þ²âÊÔÍø Y E"d } k MmN

    ²âÊÔ·½·¨£º51TestingÈí¼þ²âÊÔÍøg%Xv8G Gw

    a¡¢µã»÷°´Å¥ÕýÈ·ÏìÓ¦²Ù×÷¡£Èçµ¥»÷È·¶¨£¬ÕýÈ·Ö´ÐвÙ×÷£»µ¥»÷È¡Ïû£¬Í˳ö´°¿Ú£»
    X{7tPg5]4Rf160281b¡¢¶Ô·Ç·¨µÄÊäÈë»ò²Ù×÷¸ø³ö×ã¹»µÄÌáʾ˵Ã÷£¬ÈçÊäÈëÔ¹¤×÷ÌìÊýΪ32ʱ£¬µ¥»÷¡°È·¶¨¡±ºóϵͳӦÌáʾ£ºÌìÊý²»ÄÜ´óÓÚ31£»51TestingÈí¼þ²âÊÔÍøjfBAVMi
    c¡¢¶Ô¿ÉÄÜÔì³ÉÊý¾ÝÎÞ·¨»Ö¸´µÄ²Ù×÷±ØÐë¸ø³öÈ·ÈÏÐÅÏ¢£¬¸øÓû§·ÅÆúÑ¡ÔñµÄ»ú»á£»
    51TestingÈí¼þ²âÊÔÍø_PGf1sP(?"A

    3¡¢µ¥Ñ¡°´Å¥¿Ø¼þµÄ²âÊÔ

    z _&|V$QX!v160281

    ²âÊÔ·½·¨£º

    .x)o'Qnt(q160281

    a¡¢Ò»×鵥ѡ°´Å¥²»ÄÜͬʱѡÖУ¬Ö»ÄÜÑ¡ÖÐÒ»¸ö£»51TestingÈí¼þ²âÊÔÍø%S?.ukCkg
    b¡¢ÖðÒ»Ö´ÐÐÿ¸öµ¥Ñ¡°´Å¥µÄ¹¦ÄÜ¡£·Ö±ðÑ¡ÔñÁË¡°ÄС±¡¢¡°Å®¡±ºó£¬±£´æµ½Êý¾Ý¿âµÄÊý¾ÝÓ¦¸ÃÏàÓ¦µÄ·Ö±ðΪ¡°ÄС±¡¢¡°Å®¡±£»
    4X"l f8^g eHEX160281c¡¢Ò»×éÖ´ÐÐͬһ¹¦Äܵĵ¥Ñ¡°´Å¥ÔÚ³õʼ״̬ʱ±ØÐëÓÐÒ»¸ö±»Ä¬ÈÏÑ¡ÖУ¬²»ÄÜͬʱΪ¿Õ¡£
    :K.E7M#foop16028151TestingÈí¼þ²âÊÔÍø(S rDj*gN6v2y ?
    4¡¢up£­down¿Ø¼þÎı¾¿òµÄ²âÊÔ

    #n W8H1N{160281

    ²âÊÔ·½·¨£º

    @9L,Y5F@+d160281

    a¡¢Ö±½ÓÊäÈëÊý×Ö»òÓÃÉÏϼýÍ·¿ØÖÆ£¬ÈçÔÚ¡°ÊýÄ¿¡±ÖÐÖ±½ÓÊäÈë10£¬»òÕßµ¥»÷ÏòÉϵļýÍ·£¬Ê¹ÊýÄ¿±äΪ10£»51TestingÈí¼þ²âÊÔÍø:ba Tk^ W
    b¡¢ÀûÓÃÉÏϼýÍ·¿ØÖÆÊý×ÖµÄ×Ô¶¯Ñ­»·£¬Èçµ±×î¶àÊý×ÖΪ253ʱ£¬µ¥»÷ÏòÉϼýÍ·£¬ÊýÄ¿×Ô¶¯±äΪ1£»·´Ö®ÒàÊÊÓã»
    0Tw _$x.?k c160281c¡¢Ö±½ÓÊäÈ볬±ß½çÖµ£¬ÏµÍ³Ó¦¸ÃÌáʾÖØÐÂÊäÈ룻51TestingÈí¼þ²âÊÔÍø+y+KSf/H)}b
    d¡¢ÊäÈëĬÈÏÖµ£¬¿Õ°×¡£Èç¡°²åÈ롱ÊýĿΪĬÈÏÖµ£¬µã»÷¡°È·¶¨¡±£»»òɾ³ýĬÈÏÖµ£¬Ê¹ÄÚÈÝΪ¿Õ£¬µ¥»÷¡°È·¶¨¡±½øÐвâÊÔ£»51TestingÈí¼þ²âÊÔÍømE\%a%z}DM
    e¡¢ÊäÈë×Ö·û¡£´ËʱϵͳӦÌáʾÊäÈëÓÐÎó¡£
    51TestingÈí¼þ²âÊÔÍø?!nQ%S9[J_,f

    5¡¢×éºÏÁбí¿òµÄ²âÊÔ

    w P9a-S G"xp160281

    ²âÊÔ·½·¨£º

    )^#mc[7j(P[6P9l0_B SY~160281

    a¡¢ÌõÄ¿ÄÚÈÝÕýÈ·£¬ÆäÏêϸÌõÄ¿ÄÚÈÝ¿ÉÒÔ¸ù¾ÝÐèÇó˵Ã÷È·¶¨£»
    7{ kbR W9Wa:p8r6T160281b¡¢ÖðÒ»Ö´ÐÐÁбí¿òÖÐÿ¸öÌõÄ¿µÄ¹¦ÄÜ£»51TestingÈí¼þ²âÊÔÍø]N4|9B_:\*H
    c¡¢¼ì²éÄÜ·ñÏò×éºÏÁбí¿òÊäÈëÊý¾Ý¡£

    Hf'wnb$N6S160281

    6¡¢¸´Ñ¡¿òµÄ²âÊÔ

    4j,| o`pMo [u D160281

    ²âÊÔ·½·¨£º51TestingÈí¼þ²âÊÔÍøp&[ o+rqC2@7O$[

    a¡¢¶à¸ö¸´Ñ¡¿ò¿ÉÒÔ±»Í¬Ê±Ñ¡ÖУ»
    }[ daUO160281b¡¢¶à¸ö¸´Ñ¡¿ò¿ÉÒÔ±»²¿·ÖÑ¡ÖУ»51TestingÈí¼þ²âÊÔÍø/Vz0^+C:Y)Q(Dy-E
    c¡¢¶à¸ö¸´Ñ¡¿ò¿ÉÒÔ¶¼²»±»Ñ¡ÖУ»51TestingÈí¼þ²âÊÔÍø5J*pI#A-CUb"a-m
    d¡¢ÖðÒ»Ö´ÐÐÿ¸ö¸´Ñ¡¿òµÄ¹¦ÄÜ¡£
    51TestingÈí¼þ²âÊÔÍøh@"SZ5Z

    7¡¢Áбí¿ò¿Ø¼þµÄ²âÊÔ

    8C1_8a Kuf4{z,v_160281

    ²âÊÔ·½·¨£º51TestingÈí¼þ²âÊÔÍøj*I5M9sd,K

    a¡¢ÌõÄ¿ÄÚÈÝÕýÈ·£ºÍ¬×éºÏÁбí¿òÀàËÆ£¬¸ù¾ÝÐèÇó˵Ã÷ÊéÈ·¶¨ÁбíµÄ¸÷ÏîÄÚÈÝÕýÈ·£¬Ã»ÓжªÊ§»ò´íÎó£»
    Bf8K I1\%r0o160281b¡¢Áбí¿òµÄÄÚÈݽ϶àʱҪʹÓùö¶¯Ìõ£»51TestingÈí¼þ²âÊÔÍøB X&?*s9[_l
    c¡¢Áбí¿òÔÊÐí¶àѡʱ£¬Òª·Ö±ð¼ì²éshiftÑ¡ÖÐÌõÄ¿£¬°´ctrlÑ¡ÖÐÌõÄ¿ºÍÖ±½ÓÓÃÊó±êÑ¡ÖжàÏîÌõÄ¿µÄÇé¿ö£»
    51TestingÈí¼þ²âÊÔÍøq Q un?o%L

    8¡¢¹ö¶¯Ìõ¿Ø¼þµÄ²âÊÔ

    2p(O:J,w}bM*|160281

    ҪעÒâһϼ¸µã£º51TestingÈí¼þ²âÊÔÍøCO cP Yf

    a¡¢¹ö¶¯ÌõµÄ³¤¶È¸ù¾ÝÏÔʾÐÅÏ¢µÄ³¤¶È»ò¿í¶È¼°Ê±±ä»»£¬ÕâÑùÓÐÀûÓÚÓû§Á˽âÏÔʾÐÅÏ¢µÄλÖúͰٷֱȣ¬ÈçwordÖÐä¯ÀÀ100Ò³Îĵµ£¬ä¯ÀÀµ½50ҳʱ£¬¹ö¶¯ÌõλÖÃÓ¦´¦ÓÚÖм䣻51TestingÈí¼þ²âÊÔÍø2Z3x t E7}J*P7D
    b¡¢Í϶¯¹ö¶¯Ìõ£¬¼ì²éÆÁĻˢÐÂÇé¿ö£¬²¢²é¿´ÊÇ·ñÓÐÂÒÂ룻
    ThkXf160281c¡¢µ¥»÷¹ö¶¯Ìõ£»
    :xM!y*MLd ru%T160281d¡¢ÓùöÂÖ¿ØÖƹö¶¯Ìõ£»51TestingÈí¼þ²âÊÔÍø:v T Sx%goV
    e¡¢¹ö¶¯ÌõµÄÉÏÏ°´Å¥¡£
    51TestingÈí¼þ²âÊÔÍø%V%f$w!O(n4yG&vV

    9¡¢¸÷ÖֿؼþÔÚ´°ÌåÖлìºÍʹÓÃʱµÄ²âÊÔ51TestingÈí¼þ²âÊÔÍø3p3^)eTIy-T

    a¡¢¿Ø¼þ¼äµÄÏ໥×÷Óã»
    -@ zv_Tm0gGZ*QA160281b¡¢tab¼üµÄ˳Ðò£¬Ò»°ãÊÇ´ÓÉϵ½Ï£¬´Ó×óµ½ÓÒ£»51TestingÈí¼þ²âÊÔÍøH`&ux:EW m-N9?
    c¡¢ÈȼüµÄʹÓã¬ÖðÒ»²âÊÔ£»
    tGf&b tEH3U160281d¡¢enter¼üºÍesc¼üµÄʹÓá£
    51TestingÈí¼þ²âÊÔÍø0Yr R)z`M

    ÔÚ²âÊÔÖУ¬Ó¦×ñÑ­ÓɼòÈë·±µÄÔ­Ôò£¬ÏȽøÐе¥¸ö¿Ø¼þ¹¦ÄܵIJâÊÔ£¬È·±£ÊµÏÖÎÞÎóºó£¬ÔÙ½øÐжà¸ö¿Ø¼þµÄµÄ¹¦ÄÜ×éºÏµÄ²âÊÔ¡£51TestingÈí¼þ²âÊÔÍøw/{U4_tm`3``;M

    ps£ºÃÜÂëÊäÈë¿ò²âÊÔʱҪÌرð×¢Òâ½øÐÐ×Öĸ´óдÊäÈëµÄ²âÊÔ¡£¶þ¡¢²éÕÒÌæ»»²Ù×÷

    8W;P$Iy(NZ160281

    °¸ÀýÑÝʾ£º´ò¿ªwordÖеġ°Ìæ»»¡±¶Ô»°¿ò¡£

    n0Eb G:jJ4T*B-B3W160281

    ²âÊÔ±¾¹¦ÄÜÓÐͨ¹ý²âÊÔºÍʧ°Ü²âÊÔÁ½ÖÖÇé¿ö£º51TestingÈí¼þ²âÊÔÍø!WT'J4wj5]'q

    ͨ¹ý²âÊÔ£º51TestingÈí¼þ²âÊÔÍø9I W eX uh)M!V

    1¡¢ÊäÈëÄÚÈÝÖ±½Ó²éÕÒ¡¢»ò²éÕÒÈ«²¿£»51TestingÈí¼þ²âÊÔÍøI;D?G)Tw
    2¡¢ÔÚ×éºÏ¿òÖÐÑ°ÕÒÒѾ­²éÕÒ¹ýµÄÄÚÈÝ¡¢ÔٴβéÕÒ²¢È·ÈÏÎĵµµÄÄÚÈÝÕýÈ·£¬ÈçÒѾ­²éÕÒ¹ý¡°²âÊÔÓÃÀý¡±¡¢ÔٴνøÈë²»ÓÃÖØÐÂÊäÈë²éÕÒÄÚÈÝ¡¢Ö±½ÓÔÚÎĵµÖÐËÑÑ°¾Í¿ÉÒÔ¡£
    51TestingÈí¼þ²âÊÔÍøk.pF,Ak8LQ_ r

    ʧ°Ü²âÊÔ£º51TestingÈí¼þ²âÊÔÍø`[&M `#O_/j6a

    1¡¢ÊäÈë¹ý³¤»ò¹ý¶ÌµÄ²éѯ×Ö·û´®¡£Èç¼ÙÉè²éѯµÄ×Ö·û´®³¤¶ÈΪ1µ½255£¬ÄÇô£¬ÊäÈë0¡¢1¡¢2¡¢256¡¢255ºÍ254½øÐвâÊÔ£»
    q5z\U;GUF1602812¡¢ÊäÈëÌØÊâ×Ö·û¼¯¡£ÈçÔÚwordÖÐ^g´ú±íͼƬ¡¢^´ú±í·ÖÀ¸·û¡¢¿ÉÒÔÊäÈëÕâÀàÌØÊâ×Ö·û²âÊÔ£»

    0x)_6\-EU P+^/N6n160281

    Ìæ»»²âÊÔ´óÌåÏàͬ¡£

    :@ w!BZ-q`Uc6T160281

    ¹ØÓڱ༭²Ù×÷´°¿ÚµÄ¹¦ÄܲâÊÔµÄÓÃÀý£º

    sh#H(D]160281

    1¡¢¹Ø±Õ²éÕÒÌæ»»´°¿Ú¡£²»Ö´ÐÐÈκβÙ×÷¡¢Ö±½ÓÍ˳ö£»51TestingÈí¼þ²âÊÔÍø8cN}LV R[n p(aVI\
    2¡¢¸½¼þºÍÑ¡Ïî²âÊÔ¡£¼ÙÈçÉ趨¡°¾«È·ËÑÑ°¡±¡¢¡°Ïòºó¡±ËÑË÷µÈ¸½¼þÑ¡ÏîµÈµÈÀ´²âÊÔ£»51TestingÈí¼þ²âÊÔÍø6GL_:{_Q
    3¡¢¿Ø¼þ¼äµÄÏ໥×÷Óá£ÈçËÑÑ°ÄÚÈÝΪ¿Õʱ¡¢°´Å¥¡°ËÑÑ°È«²¿¡±¡¢¡°ËÑÑ°¡±¡¢¡°È«²¿Ìæ»»¡±¡¢¡°Ìæ»»¡±¶¼Îª»ÒÉ«¡£51TestingÈí¼þ²âÊÔÍø`xdTeoK6x'T@
    4¡¢Èȼü¡¢Tab¼ü¡£»Ø³µ¼üµÄʹÓá£

    ][8Z O4rKft160281

    ²åÈë²Ù×÷

    2em0c_5t-]&N.v2m9zr160281

    1¡¢²åÈëÎļþ

    ABq8Oe3X160281

    ²âÊÔµÄÇé¿ö£º51TestingÈí¼þ²âÊÔÍø9Q"k/S.q/QYCiV

    a¡¢²åÈëÎļþ£»51TestingÈí¼þ²âÊÔÍøL`m2M,e0n%V8[5Mq
    b¡¢²åÈëͼÏñ£»51TestingÈí¼þ²âÊÔÍøt U[.sida e
    c¡¢ÔÚÎĵµÖвåÈëÎĵµ±¾Éí£»
    k-f"?| T$Ra:J160281d¡¢ÒƳý²åÈëµÄÔ´Îļþ£»51TestingÈí¼þ²âÊÔÍø m:p8HcwIc.X~d m
    e¡¢¸ü»»²åÈëµÄÔ´ÎļþµÄÄÚÈÝ¡£

    `g8x!F+iA5H160281

    2¡¢Á´½ÓÎļþ51TestingÈí¼þ²âÊÔÍøtF0@uzsx

    ²âÊÔ·½·¨£º

    bvC(a%g9t$x160281

    a¡¢²åÈëÁ´½ÓÎļþ£»51TestingÈí¼þ²âÊÔÍø0MmKh#I&_Op|E1Qp
    b¡¢ÔÚÎĵµÖÐÁ´½ÓÎĵµ±¾Éí£»51TestingÈí¼þ²âÊÔÍøa_h2v#Sp1i
    c¡¢ÒƳý²åÈëµÄÔ´Îļþ£º
    md.vCt'a` R:g)Jc160281d¡¢¸ü»»²åÈëµÄÔ´ÎļþµÄÄÚÈÝ¡£
    51TestingÈí¼þ²âÊÔÍø eQ8zq9v

    3¡¢²åÈë¶ÔÏó

    H/EE]-|L,\"O160281

    Òª²âÊÔµÄÄÚÈÝ£º

    N&zma8~5A160281

    a¡¢²åÈë³ÌÐòÔÊÐíµÄ¶ÔÏó¡¢ÈçÔÚwordÖвåÈëexcel¹¤×÷±í£»
    S3X+P5HiKp;NmV160281b¡¢ÐÞ¸ÄËù²åÈë¶ÔÏóµÄÄÚÈÝ¡£²åÈëµÄ¶ÔÏóÈÔÄÜÕýÈ·ÏÔʾ£»51TestingÈí¼þ²âÊÔÍø2B+^/t/I/k4[K
    c¡¢Ð¶ÔØÉú³É²åÈë¶ÔÏóµÄ³ÌÐò¡¢ÈçÔÚwordÖвåÈëexcel¹¤×÷±íºóжÔØexcel¡¢¹¤×÷±íÈÔÕý³£Ê¹Óá£

    `!`+b T*V:b6lf/g160281

    ±à¼­²Ù×÷

    u rM*SYh Z160281

    ±à¼­²Ù×÷°üÀ¨¼ôÇС¢¸´ÖÆ¡¢Õ³Ìù²Ù×÷¡£

    _ @ K/_wlZ(d(nbg160281

    ²âÊÔ¼ôÇвÙ×÷µÄ·½·¨

    +ou@h)s0a;b z160281

    a¡¢¶ÔÎı¾¡¢Îı¾¿ò¡¢Í¼ÎÄ¿ò½øÐмôÇУ»
    t C8h+rEs7k2m3PF2l160281b¡¢¼ôÇÐͼÏñ£»51TestingÈí¼þ²âÊÔÍøI3` gd4l'y6p
    c¡¢Îı¾Í¼Ïñ»ìºÏ¼ôÇС£
    51TestingÈí¼þ²âÊÔÍøj;` X$o {K+oQ6P

    ¸´ÖƲÙ×÷·½·¨Óë¼ôÇÐÀàËÆ¡£

    NrRuSaJ160281

    ²âÊÔʱ£¬Ö÷ÒªÊǶÔÕ³Ìù²Ù×÷µÄ²âÊÔ·½·¨ÊÇ£º

    ,}Na+Z _bM160281

    a¡¢Õ³Ìù¼ôÇеÄÎı¾¡¢Îı¾¿ò¼°Í¼ÎÄ¿ò£»51TestingÈí¼þ²âÊÔÍøX;c`qt"Eg5s
    b¡¢Õ³ÌùËù¼ôÇеÄͼÏñ£»51TestingÈí¼þ²âÊÔÍø(XtW"D\#]].E
    c¡¢¼ôÇкó£¬ÔÚ²»Í¬µÄ³ÌÐòÖÐÕ³Ìù£»51TestingÈí¼þ²âÊÔÍø-}.[7n S2sv,G `[ O
    d¡¢¶à´ÎÕ³ÌùͬһÄÚÈÝ£¬Èç¼ôÇкó£¬ÔÚ³ÌÐòÖÐÁ¬ÐøÕ³Ìù3´Î£»51TestingÈí¼þ²âÊÔÍø2I6c8N3dk
    e¡¢ÀûÓÃÕ³Ìù²Ù×÷Ç¿ÖÆÊäÈë³ÌÐòËù²»ÔÊÐíÊäÈëµÄÊý¾Ý¡£

    a/["c(`7LlwHg3P160281

    Èý¡¢½çÃæ²âÊÔÓÃÀýµÄÉè¼Æ·½·¨

    +`RoGmrg:e160281

    1¡¢´°Ìå51TestingÈí¼þ²âÊÔÍøx:k|UHyfg}*Q6M

    ²âÊÔ´°ÌåµÄ·½·¨£º51TestingÈí¼þ²âÊÔÍø+y%~3W;KO/g1P(Bu#E4fE

    a¡¢´°Ìå´óС£¬´óСҪºÏÊÊ£¬¿Ø¼þ²¼¾ÖºÏÀí£»51TestingÈí¼þ²âÊÔÍørj bSR+gM%g
    b¡¢Òƶ¯´°Ìå¡£¿ìËÙ»òÂýËÙÒƶ¯´°Ì壬±³¾°¼°´°Ìå±¾ÉíˢбØÐëÕýÈ·£»51TestingÈí¼þ²âÊÔÍø.u0IS:J%]gIo)v
    c¡¢Ëõ·Å´°Ì壬´°ÌåÉϵĿؼþÓ¦Ëæ´°ÌåµÄ´óС±ä»¯¶ø±ä»¯£»
    (U9OJ0P&W&i E!b[*u160281d¡¢ÏÔʾ·Ö±æÂÊ¡£±ØÐëÔÚ²»Í¬µÄ·Ö±æÂʵÄÇé¿öϲâÊÔ³ÌÐòµÄÏÔʾÊÇ·ñÕý³£¡£

    R!~A\?160281

    ½øÐвâÊÔʱ»¹Òª×¢Òâ״̬À¸ÊÇ·ñÏÔʾÕýÈ·£¬¹¤¾ßÀ¸µÄͼ±êÖ´ÐвÙ×÷ÊÇ·ñÓÐЧ£¬ÊÇ·ñÓë²Ëµ¥ÀÁÖÐͼ±êÏÔʾһÖ£»´íÎóÐÅÏ¢ÄÚÈÝÊÇ·ñÕýÈ·¡¢ÎÞ´í±ð×ÖÇÒÃ÷È·µÈµÈ¡£

    Sh;d"?crG160281

    2¡¢¿Ø¼þ51TestingÈí¼þ²âÊÔÍø?{KLvX%`g2N

    ²âÊÔ·½·¨£º51TestingÈí¼þ²âÊÔÍøg'UW+wa R

    a¡¢´°Ìå»ò¿Ø¼þµÄ×ÖÌåºÍ´óСҪһÖ£»
    :Cw @ A a pPT160281b¡¢×¢ÒâÈ«½Ç¡¢°ë½Ç»ìºÏ£»51TestingÈí¼þ²âÊÔÍø\ [9Q*]Am,E!q%y
    c¡¢ÎÞÖÐÓ¢ÎÄ»ìºÏ¡£

    W(cT4C'FHq160281

    ËÄ¡¢²Ëµ¥51TestingÈí¼þ²âÊÔÍø-["]C]'[

    ½øÐвâÊÔʱҪעÒ⣺

    @(H@*iU7u,w4e160281

    a¡¢Ñ¡Ôñ²Ëµ¥ÊÇ·ñ¿ÉÒÔÕý³£¹¤×÷¡¢²¢Óëʵ¼ÊÖ´ÐÐÄÚÈÝÒ»Ö£»
    0\,j] ~BO_"}@ `160281b¡¢ÊÇ·ñÓдí±ð×Ö£»
    D)?U?m*`d160281c¡¢¿ì½Ý¼üÊÇ·ñÖظ´£»
    uD Y9O:g$\7l160281d¡¢ÈȼüÊÇ·ñÖظ´£»51TestingÈí¼þ²âÊÔÍøv?9@:c%?a
    e¡¢¿ì½Ý¼üÓëÈȼü²Ù×÷ÊÇ·ñÓÐЧ£»51TestingÈí¼þ²âÊÔÍø7X[6QG"t0siD)Nw
    f¡¢ÊÇ·ñ´æÔÚÖÐÓ¢ÎÄ»ìºÏ£»
    Uv#d\"y P,E0W ]160281g¡¢²Ëµ¥ÒªÓëÓï¾³Ïà¹Ø¡¢Èç¡¢²»Í¬È¨ÏÞµÄÓû§µÇ½һ¸öÓ¦ÓóÌÐò¡¢²»Í¬¼¶±ðµÄÓû§¿ÉÒÔ¿´µ½²»Í¬¼¶±ðµÄ²Ëµ¥²¢Ê¹Óò»Í¬¼¶±ðµÄ¹¦ÄÜ£»51TestingÈí¼þ²âÊÔÍøO.j6uYO
    h¡¢Êó±êÓÒ¼ü¿ì½Ý²Ëµ¥¡£
    51TestingÈí¼þ²âÊÔÍø6j"BE'mwU eFM

    ÌØÊâÊôÐÔ51TestingÈí¼þ²âÊÔÍø&TyoF k

    1¡¢°²×°½çÃæÓ¦Óй«Ë¾½éÉÜ»ò²úÆ·½éÉÜ¡¢Óй«Ë¾µÄͼ±ê£»
    T*]q:ccih n1602812¡¢Ö÷½çÃæ¼°´ó¶àÊý½çÃæ×îºÃÓй«Ë¾Í¼±ê£»
    z3aR.]m U#jR,u1602813¡¢Ñ¡Ôñ¡°°ïÖú¡±->¡°¹ØÓÚ¡±ÃüÁî¡¢Ó¦¿´¼ûÏà¹Ø°æȨºÍ²úÆ·ÐÅÏ¢¡£

Open Toolbar