<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    oracle數(shù)據(jù)庫表刪除操作

    A. 刪除數(shù)據(jù)

    -----------------------------------------

    方法一:

    delete(DML)

    只是刪除數(shù)據(jù),并沒有釋放空間

    操作可以回退

    例如:

    DELETE FROM table_name;

     

    方法二:

    truncate table(DDL)

    刪除數(shù)據(jù),釋放表空間,操作不能回退

    例如:

    TRUNCATE  TABLE table_name;

     

    B. 刪除庫表

    ------------------------------------------

    DROP TABLE table_name [CASCADE CONSTRAINTS] [purge]

    CASCADE CONSTRAINTS: 表示是否級聯(lián)刪除外鍵約束

     

    C. 恢復刪除的庫表(10g)

    FLASHBACK TABLE table_name TO BEFORE DROP;

    posted @ 2009-03-12 11:35 JavaBegger 閱讀(414) | 評論 (0)編輯 收藏

    oracle中的幾個數(shù)據(jù)字典視圖

         摘要:   閱讀全文

    posted @ 2009-03-12 11:20 JavaBegger 閱讀(199) | 評論 (0)編輯 收藏

    Oracle Append,使用子查詢復制數(shù)據(jù)

    當插入數(shù)據(jù)時,必須為NOT NULL列和主鍵列提供數(shù)據(jù);

    當復制大批量數(shù)據(jù)時,使用直接裝載的速度遠遠優(yōu)于常規(guī)裝載。

    使用常規(guī)裝載方式復制數(shù)據(jù):

    INSERT INTO table_name
       SELECT *
         FROM DUAL;

     

    使用直接裝載方式復制數(shù)據(jù):

    INSERT INTO /*append*/ table_name
       SELECT *
         FROM DUAL;

    posted @ 2009-03-11 11:52 JavaBegger 閱讀(315) | 評論 (0)編輯 收藏

    數(shù)字函數(shù)

    *******************************************************************

    1. ROUND

    *******************************************************************

    The ROUND function returns n rounded to m places right of the decimal point; if m is omitted, to 0 places. m can be negative to round off digits left of the decimal point. m must be an integer.

    Syntax

    image

    PL/SQL Example
    ROUND (153.46) ==> 153
    ROUND (153.46, 1) ==> 153.5
    ROUND (153, -1) ==> 150

    SQL Examples
    SELECT ROUND(15.193,1) "Round"
    FROM DUAL
         Round
    ----------
          15.2
    SELECT ROUND(15.193,-1) "Round"
    FROM DUAL
         Round
    ----------
            20

     

    *******************************************************************

    2. TRUNC

    *******************************************************************

    The TRUNC function truncates the number supplied to the specified number of places. If no place number is supplied, it rounds to zero decimal places. If the place number is negative, the number is truncated that many places to the right of the decimal place. This function does no rounding, it simply deletes the un-wanted numbers and returns the rest.

    Syntax

    image 

     

    PL/SQL Example
    TRUNC (153.46) ==> 153
    TRUNC (153.46, 1) ==> 153.4
    TRUNC (-2003.16, -1) ==> -2000

    SQL Example
    SELECT TRUNC(15.79,1) "Truncate"
    FROM DUAL 
      Truncate
    ----------
          15.7
    SELECT TRUNC(15.79,-1) "Truncate"
      FROM DUAL 
      Truncate
    ----------
            10

     

    *******************************************************************

    3. INSTR

    *******************************************************************

    The INSTR functions search string for substring. The function returns an integer indicating the position of the character in string that is the first character of this occurrence. INSTR calculates strings using characters as defined by the input character set. INSTRB uses bytes instead of characters. INSTRC uses unicode complete characters. INSTR2 uses UCS2 codepoints. INSTR4 uses UCS4 codepoints.
    position is an nonzero integer indicating the character of string where Oracle begins the search. If position is negative, Oracle counts and searches backward from the end of string.
    occurrence is an integer indicating which occurrence of string Oracle should search for. The value of occurrence must be positive.
    Both string and substring can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The value returned is of NUMBER datatype.

    The default values of both position and occurrence are 1, meaning Oracle begins searching at the first character of string for the first occurrence of substring. The return value is relative to the beginning of string, regardless of the value of position, and is expressed in characters. If the search is unsuccessful (if substring does not appear occurrence times after the position character of string), the return value is 0.

    Syntax
    image


    PL/SQL Example
    Find the first occurrence of archie in “bug-or-tv-character?archie”:

    INSTR ('bug-or-tv-character?archie', 'archie') ==> 21
    The starting position and the nth appearance both defaulted to 1.

    Find the first occurrence of archie in the following string starting from position 14:

    INSTR ('bug-or-tv-character?archie', 'ar', 14) ==> 21
    In this example a starting position was specified, which overrides the default of 1; the answer is still the same though. No matter where you start your search, the character position returned by INSTR is always calculated from the beginning of the string.

    Find the second occurrence of archie in the following string:

    INSTR ('bug-or-tv-character?archie', 'archie', 1, 2) ==> 0
    There is only one archie in the string, so INSTR returns 0. Even though the starting point is the default, it cannot be left out if a nondefault nth appearance (2 in this case, for "second occurrence" ) is specified.

    Find the second occurrence of "a" in "bug-or-tv-character?archie":

    INSTR ('bug-or-tv-character?archie', 'a', 1, 2) ==> 15
    The second "a" in this string is the second "a" in "character", which is in the fifteenth position in the string.

    Find the last occurrence of "ar" in "bug-or-tv-character?archie".

    INSTR ('bug-or-tv-character?archie', 'ar', -1) ==> 21
    Use INSTR to confirm that a user entry is valid.

    In the code below, we check to see if the command selected by the user is found in the list of valid commands. If so, that command is executed :

    IF INSTR ('|ADD|DELETE|CHANGE|VIEW|CALC|', '|' || cmd || '|') > 0
    THEN
       execute_command (cmd);
    ELSE
       DBMS_OUTPUT.PUT_LINE
          (' You entered an invalid command. Please try again...');
    END IF;
    SQL Examples
    The following example searches the string "CORPORATE FLOOR", beginning with the third character, for the string "OR". It returns the position in CORPORATE FLOOR at which the second occurrence of "OR" begins:

    SELECT INSTR('CORPORATE FLOOR','OR', 3, 2)
      "Instring" FROM DUAL;
      Instring
    ----------
            14
    The next example searches beginning with the third character from the end:

    SELECT INSTR('CORPORATE FLOOR','OR', -3, 2)
    "Reversed Instring"
         FROM DUAL;
    Reversed Instring
    -----------------
                   2
    This example assumes a double-byte database character set.

    SELECT INSTRB('CORPORATE FLOOR','OR',5,2) "Instring in bytes"
       FROM DUAL;
    Instring in bytes
    -----------------
                   27

     

     

    *******************************************************************

    4. SUBSTR

    *******************************************************************

    The substring functions return a portion of string, beginning at character position, substring_length characters long. SUBSTR calculates lengths using characters as defined by the input character set. SUBSTRB uses bytes instead of characters. SUBSTRC uses unicode complete characters. SUBSTR2 uses UCS2 codepoints. SUBSTR4 uses UCS4 codepoints.
    If position is 0, it is treated as 1.
    If position is positive, Oracle counts from the beginning of string to find the first character.
    If position is negative, Oracle counts backwards from the end of string.
    If substring_length is omitted, Oracle returns all characters to the end of string. If substring_length is less than 1, a null is returned.
    string can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The return value is the same datatype as string. Floating-point numbers passed as arguments to SUBSTR are automatically converted to integers.

    Syntax

    image                                                                                           

     

    PL/SQL Example
    If the absolute value of the starting position exceeds the length of the input string, return NULL:

    SUBSTR ('now_or_never', 200) ==> NULL
    SUBSTR ('now_or_never', -200) ==> NULL
    If starting position is 0, SUBSTR acts as though the starting position was actually 1:

    SUBSTR ('now_or_never', 0, 3) ==> 'now'
    SUBSTR ('now_or_never', 0) ==> 'now_or_never'
    If the substring length is less than or equal to zero, return NULL:
    SUBSTR ('now_or_never', 5, -2) ==> NULL
    SUBSTR ('now_or_never', 1, 0) ==> NULL
    Return the last character in a string:

    SUBSTR ('Another sample string', -1) ==> 'g'
    Remove an element from a string list.

    This is, in a way, the opposite of SUBSTR: we want to extract a portion or substring of a string--and leave the rest of it intact. Suppose the screen maintains a list of selected temperatures, as follows:

    |HOT|COLD|LUKEWARM|SCALDING|
    The vertical bar delimits the different items on the list. When the user deselects "LUKEWARM," we now have to remove it from the list, which becomes:

    |HOT|COLD|SCALDING|
    The best way to accomplish this task is to determine the starting and ending positions of the item to be removed, and then use SUBSTR to take apart the list and put it back together without the specified item.

    The list used in the above example contains 29 characters:

    String:          |HOT|COLD|LUKEWARM|SCALDING|
    Character index: 1234567890123456789012345679
    To extract this item from the list, we need to pull off the portion of the string before "LUKEWARM" as follows:

    SUBSTR ('|HOT|COLD|LUKEWARM|SCALDING|', 1, 10)
    and then we need to extract the trailing portion of the list (after "LUKEWARM"). Notice that we do not want to keep both of the delimiters when we put these pieces back together, so this next SUBSTR does not include the vertical bar at position 19:

    SUBSTR ('|HOT|COLD|LUKEWARM|SCALDING|', 20)
    We use the following concatenation of calls to SUBSTR:

    SUBSTR ('|HOT|COLD|LUKEWARM|SCALDING|', 1, 10)
    ||
    SUBSTR ('|HOT|COLD|LUKEWARM|SCALDING|', 20)
    ==>
       '|HOT|COLD|SCALDING|'
    Remove the middle word in a three-word string (in which each word is separated by an underscore) and switch the order of the first and last words.

    FUNCTION bite_and_switch (tripart_string_in IN VARCHAR2)
       RETURN VARCHAR2
    IS
       /* Location of first underscore */
       first_delim_loc  NUMBER := INSTR (tripart_string_in, '_', 1, 1);
       /* Location of second underscore */
       second_delim_loc NUMBER := INSTR (tripart_string_in, '_', 1, 2);
       /* Return value of function, set by default to incoming string. */
       return_value VARCHAR2(1000) := tripart_string_in;
    BEGIN
       /* Only switch words if two delimiters are found. */
       IF second_delim_loc > 0
       THEN
          /* Pull out  first and second words and stick them together. */
         return_value := 
             SUBSTR (tripart_string_in, 1, first_delim_loc - 1) || '_' ||
             SUBSTR (tripart_string_in, second_delim_loc + 1);
       END IF;
       /* Return the switched string */
       RETURN return_value;
    END bite_and_switch;
    SQL Examples
    The following example returns several specified substrings of "ABCDEFG":

    SELECT SUBSTR('ABCDEFG',3,4) "Substring"
         FROM DUAL;
    Substring
    ---------
    CDEF
    SELECT SUBSTR('ABCDEFG',-5,4) "Substring"
         FROM DUAL;
    Substring
    ---------
    CDEF
    Assume a double-byte database character set:

    SELECT SUBSTRB('ABCDEFG',5,4.2) "Substring with bytes"
         FROM DUAL;
    Substring with bytes
    --------------------
    CD

     

     

    *******************************************************************

    5. RPAD

    *******************************************************************

    The RPAD or Right Pad function returns char1, right-padded to length n with char2, replicated as many times as necessary; char2 defaults to a single blank. If char1 is longer than n, this function returns the portion of char1 that fits in n.RPAD will also perform a trim function on the string if the specified length is less than the actual string length.
    Both char1 and char2 can be any of the datatypes CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The string returned is of VARCHAR2 datatype and is in the same character set as char1.

    The argument n is the total length of the return value as it is displayed on your terminal screen. In most character sets, this is also the number of characters in the return value. However, in some multibyte character sets, the display length of a character string can differ from the number of characters in the string.

    Syntax
    image


    PL/SQL Example
    Display the number padded right with zeros to a length of 10:

    RPAD ('55', 10, '0') ==> '5500000000'
    You could also use TO_CHAR to convert from a number to a character:

    TO_CHAR (55 * 10000000) ==> '5500000000'
    Display the number padded right with zeros to a length of 5:

    RPAD ('12345678', 5) ==> '12345'
    RPAD interprets its padded_length as the maximum length of the string that it may return. As a result, it counts padded_length number of characters from the left (start of the string) and then simply returns that substring of the incoming value. This is the same behavior as that found with LPAD. Remember: RPAD does not return the rightmost five characters (in the above case "45678").

    Place the phrase "sell!" after the names of selected stocks, up to a string length of 45:

    RPAD ('HITOP TIES', 45, 'sell!')
    ==>
    '  HITOP TIESsell!sell!sell!sell!sell!sell!sell!'
    Since the length of "HITOP TIES" is 10 and the length of "sell!" is 5, there is room for seven repetitions of the pad string. RPAD does, in fact, generate a repetition of the pattern specified in the pad string.

    Place the phrase "sell!" after the names of selected stocks, up to a string length of 43:

    RPAD ('HITOP TIES', 43, 'sell!')
    ==>
       'HITOP TIESsell!sell!sell!sell!sell!sell!sel'
    Because the length of "HITOP TIES" is 10 and the length of "sell!" is 5, there is no longer room for seven full repetitions of the pad string. As a result, the seventh repetition of "sell!" lost its last two characters.

    Create a string of 60 dashes to use as a border in a report:

    RPAD ('-', 60, '-')
    ==>
    '------------------------------------------------------------'
    SQL Example
    The following example rights-pads a name with the letters "ab" until it is 12 characters long:

    SELECT RPAD('MORRISON',12,'ab') "RPAD example"
         FROM DUAL;
    RPAD example
    -----------------
    MORRISONabab

    posted @ 2009-03-11 09:53 JavaBegger 閱讀(173) | 評論 (0)編輯 收藏

    ORACLE中ESCAPE關(guān)鍵字用法 換字符用法

    英文解釋:

    It is necessary to use an "escape" character to locate the characters '_' and '%' in a column. The keyword ESCAPE followed by the character used as the delimitor of choice is coded after the string search. For example, '+' is used as the escape character. For example:

    SELECT NAME       
    FROM XYZ_TABLE           
    WHERE NAME LIKE 'XY+_Z+%BC%'ESCAPE '+'   

     

    Result: XY_Z%BCAA

                ...

                XY_Z%BC99

    The plus sign '+' can still be used as part of the search string as long as a '+' precedes it. For example:

    SELECT NAME        
    FROM XYZ_TABLE        
    WHERE NAME LIKE 'XY++Z%' ESCAPE '+'    

     

    Result: XY+ZAAAAA

                ... 

                XY+Z99999

     

     

    漢語解釋:

    定義:escape關(guān)鍵字經(jīng)常用于使某些特殊字符,如通配符:'%','_'轉(zhuǎn)義為它們原

    來的字符的意義,被定義的轉(zhuǎn)義字符通常使用'\',但是也可以使用其他的符號。

    實例:

    SQL> select * from t11 where name like '%_%';

    NAME
    ----------
    aa_a
    aaa
    SQL> select * from t11 where name like '%\_%' escape '\';

    NAME
    ----------
    aa_a

    注意:如果是 '/' 作為檢索字符, 必須 用 '/' 作為轉(zhuǎn)義符, 正斜扛也一樣.
    select * from wan_test where psid like '%//%' escape '/'

    posted @ 2009-03-11 09:12 JavaBegger 閱讀(1192) | 評論 (0)編輯 收藏

    懷孕了才知道老公很搞笑(轉(zhuǎn))

    懷孕了才知道老公很搞笑 !

      懷孕已經(jīng)17周了,老公也越來越搞笑,他常常會趴在我肚子上問我,寶寶怎么沒反應(yīng)?他還活著嗎?   
      

      我老公要和寶寶說話,每天只說三句:寶寶你好,我是你爸爸。我是好人。   
      

      寶寶4個月以后,我喊老公給兒子做胎教,他就趴在我肚皮上對寶寶用很像大灰狼的語調(diào)說:“蛋蛋你趕快給我睡覺!不然爸爸打你屁屁”這叫什么胎教啊!   

      我每次和老公發(fā)嗲,老公就貼著肚皮對寶寶說:踢你媽。   

      還有我每次躺著讓他數(shù)胎動,他都睡得特別快,真是催眠的好辦法。   

      現(xiàn)在寶寶動作大了,每天睡覺前有時可以看到肚皮明顯的滾動。老公看到總是很緊張,說寶寶,你在干嘛?然后摸摸肚子說,不要動了,快睡覺。如果哪天沒動,他又很緊張,左敲敲右敲敲說,寶寶,你動一下呀。   

      我每次跟老公說,寶寶又在踢我了。他就會很認真地說:等他出來我踢他,幫你報仇。   

      我老公聽我說了胎教的重要性之后一本正經(jīng)地對寶寶說:“寶寶,我是爸爸,今天我們要講的主題是看電視。好,現(xiàn)在開始看電視,你要安靜點哦!”   

      我讓我老公唱歌給寶寶聽,他居然唱:我們是害蟲,我們是害蟲。   

      記得有一次做B超,老公跟著一起進去,當看到屏幕上寶寶在動時,他激動得連說話聲音都不一樣了。當看到寶寶那根長長的脊椎時,他居然興奮地說:哦,還有尾巴啊!   

      我看到一個奇怪的現(xiàn)象,就是看我貼子的一部分人,都在不久后做成了如下事情:   
    1、戀愛成功了; 2、生意談成了; 3、升官發(fā)財了; 4、心情舒暢了;   
    5、家庭和睦了; 6、身體健康了; 7、萬事順意了。 

    posted @ 2009-03-09 16:35 JavaBegger 閱讀(92) | 評論 (0)編輯 收藏

    學習struts2標簽文檔

    第一、學習struts2標簽文檔的順序

    struts2標簽語法

    struts-2.0.11.2/docs/docs/tag-syntax.html

    OGNL語法

    struts-2.0.11.2/docs/docs/ognl.html

    標簽參考

    struts-2.0.11.2/docs/docs/tag-reference.html

    第二、容易搞混的符號:

    %{...}:  顯示地表示表達式

    #:        調(diào)用非根的上下文map中的值,如#request, #session, #attr等

    @:        調(diào)用靜態(tài)方法或者靜態(tài)屬性

    '':         用來表示字符串常量 

    "":        html元素屬性值

    舉例:

    調(diào)用靜態(tài)屬性:

    <s:property value="@全類名@serialVersionUID"/>

    調(diào)用靜態(tài)方法:

    <s:property value="@全類名@sayHello()"/>

    第三、使用debug調(diào)試標簽

    <s:debug/>

    第四、action的測試junit測試用例的編寫方法

    新建action

    填入?yún)?shù)

    執(zhí)行action方法,比如execute()

    assert輸出結(jié)果

    第五、自定義struts2標簽

    AbstractUITag

    ComponentTagSupport

    HiddenTag

    Hiddeng

    ftl模塊文件

    posted @ 2009-03-09 11:12 JavaBegger 閱讀(1280) | 評論 (0)編輯 收藏

    FreeMarker和Struts2

    1. 在web.xml中不需要同struts1般部署FreeMarker了;原因網(wǎng)上說是由于Struts2本身便集成了FreeMarker,< <Struts2權(quán)威指南>>一書說是Struts2的標簽本身就是用FreeMarker編寫的.
    2. 由于 ftl 文件默認編碼為 GBK,但頁面上無法顯示,后經(jīng)高手指點----需在項目屬性中將 Text file encoding 編碼改為 UTF-8.
    3. 在 struts.xml 配置文件中跳轉(zhuǎn)到 ftl 頁面時,需要在 <result >中添加 type="freemarker ">您要跳轉(zhuǎn)的ftl頁面</result>

    posted @ 2009-03-05 12:50 JavaBegger 閱讀(135) | 評論 (0)編輯 收藏

    亂碼問題

    1.頁面編碼統(tǒng)一utf-8
    2.獲取值的時候?qū)so8859-1轉(zhuǎn)換成utf-8
       或者做個過濾器,將頭設(shè)置成utf-8
    3.數(shù)據(jù)庫編碼是utf-8,連接的時候也制定utf-8
    4.tomcat里面的server.xml 里面設(shè)置URIEncoding="UTF-8"

    posted @ 2009-03-03 20:15 JavaBegger 閱讀(74) | 評論 (0)編輯 收藏

    重構(gòu)

    一.什么是重構(gòu)?

    A series of small steps, each of which changes the program’s internal structure without changing its external behavior。

    重構(gòu)是一系列的小部驟,每一步只修改程序的內(nèi)部結(jié)構(gòu),但是不改變它的外部行為.

    二.為什么要重構(gòu)

    • To improve the software design
    • 為了提高軟件設(shè)計

    -Combat's  "it rot"

    抵抗代碼的腐化

            -Makes the program easier to change

    使程序更容易修改

    • To make the software easier to understand
    • 使軟件更容易理解

    -Write for people, not the compiler

    程序是寫給人看的,不是給編譯器看的.

    -Understand unfamiliar code

    理解不熟悉的代碼

    • To help find bugs
    • 幫助找到bug

    -Refactor while debugging to clarify the code

    在為了理清代碼而DEBUG時,進行重構(gòu).

    三.我們應(yīng)該在什么時候重構(gòu)?

    • To add new functionality
    • 添加新的功能時

    -Refactor existing code until you understand it

    重構(gòu)現(xiàn)有的代碼直到你理解它們

    -Refactor the design to make it easy to add

    重構(gòu)設(shè)計使它容易添加新的功能

    • To find bugs
    • 在發(fā)現(xiàn)bug時

    -Refactor to understand the code

    重構(gòu)直到你理解代碼

    • For code reviews
    • 為了代碼評審

    -Rmmediate effect of code review

    -Allows for higher level suggestions

    Don’t set aside time for refactoring,include it in your normal activities

    在日常活動中進行重構(gòu),而不是另外找時間去重構(gòu).

    四.最后的思想

    • The one benefit of objects is that they make it easier to change.

    • 有一個好處就是使得對象更容易修改.

    • Refactoring allows you to improve the design after the code is written

    • 重構(gòu)允許你在代碼已經(jīng)寫完后改進自己的設(shè)計.

    • Up front design is still important,but not so critical

    • 事先的設(shè)計仍然是很重要的,但是并不那么關(guān)鍵了.

    五.例子中用到的的重構(gòu)條目:

    • A.抽取臨時變量:

    • B.使用查詢方法代替臨時變量:

    Find temp with a single assignment

    Extract Right Hand Side of assignment

    Replace all references of temp with new method

    Remove declaration and assignment of temp

    Compile and test

    • C.抽取方法:

    Create method named after intention of code

    Copy extracted code

    Look for local variables and parameters

    Turn into parameter

    Turn into return value

    Declare within method

    Compile

    Replace code fragment with call to new method

    Compile and test

    • D.移動方法:

    Declare method in target class

    Copy and fit code

    Set up a reference from the source object to the target

    Turn the original method into a delegating method

    -amountOf(Rental each) {return each.charge()}

    -Check for overriding methods

    Compile and test

    Find all users of the method

        -Adjust them to call method on target

    Remove original method

    Compile and test

    • E.使用狀態(tài)模式/策略模式代替type code,也就是去掉switch:

    Create a new state class for the type code

    Add subclasses of the state object, one for each type code

    Create an abstract query in the superclass to return the type code. Override in subclasses to return correct type code

    Compile

    Create field in old class for the state object

    Change the type code query to delegate to the state object

    Change the type code setting methods to assign an instance of the subclass

    Compile and test

    • F.使用多態(tài)代替switch語句

    Move switch to superclass of inheritance structure

    Copy one leg of case statement into subclass

    Compile and test

    Repeat for all other legs

    Replace case statement with abstract method

    • G.形成模版方法

    Take two methods with similar overall structure but varying pieces

    Use subclasses of current class, or create a strategy and move the methods to the strategy

    At each point of variation extract methods from each source with the the same signature but different body

    Declare signature of extracted method in superclass and place varying bodies in subclasses

    When all points of variation have been removed,move one source method to superclass and remove the other

         六.例子中提到的模式:

    策略模式

    模版方法模式

    狀態(tài)模式

    posted @ 2008-12-17 11:53 JavaBegger 閱讀(78) | 評論 (0)編輯 收藏

    僅列出標題
    共3頁: 上一頁 1 2 3 下一頁 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩毛片一区视频免费| 在线aⅴ亚洲中文字幕| 国产成人1024精品免费| 国产精品久久免费视频| 看亚洲a级一级毛片| 亚洲成AⅤ人影院在线观看| 免费看一级毛片在线观看精品视频| 在线观看免费宅男视频| 亚洲男人的天堂网站| 国产精品免费小视频| 福利片免费一区二区三区| 亚洲精品无码专区久久同性男| 无遮挡a级毛片免费看| 久久久久亚洲精品无码网址| 国色精品va在线观看免费视频 | 国产亚洲欧洲精品| 成人性生交大片免费看好| 亚洲天天做日日做天天欢毛片| 69视频在线是免费观看| 亚洲人成电影网站色| 日产国产精品亚洲系列| 91成人免费观看在线观看| 亚洲精品综合一二三区在线| 久草免费在线观看视频| 国产亚洲人成在线影院| 亚洲人成人无码网www电影首页 | 中文字幕免费观看视频| 亚洲无线电影官网| 无码人妻一区二区三区免费| 美女被免费视频网站| 亚洲电影免费在线观看| 成人性生免费视频| 久久WWW免费人成—看片| 亚洲综合久久久久久中文字幕| 免费看大美女大黄大色| 男人天堂免费视频| 亚洲 暴爽 AV人人爽日日碰 | 免费一级特黄特色大片在线| 国产真人无码作爱视频免费| 亚洲粉嫩美白在线| 亚洲中文字幕久久精品无码喷水 |