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

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

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

    posts - 37,  comments - 9,  trackbacks - 0
    BOM:Browser Object Model,瀏覽器對(duì)象模型。BOM是由一系列的對(duì)象組成的。其結(jié)構(gòu)如下圖所示。


    可以看出,window對(duì)象是整個(gè)BOM的核心,因此,先討論window對(duì)象。
    (1)使用框架集的情況下
            使用框架集合的情況下,每個(gè)框架都由他自身的window對(duì)象表示,存放在frames集合中。可以通過數(shù)字或者名字對(duì)框架進(jìn)行索引。看例子:
    <html>
        
    <head></head>
        
    <frameset rows="100,*">
            
    <frame src="frame.html" name="topFrame" />
            
    <frameset cols="50%,50%">
                
    <frame src="anothorFrame.html" name="leftFrame"/>
                
    <frame src="yetAnothorFrame.html" name="rightFrame"/>
            
    </frameset>
        
    </frameset>
    </html>
            我們可以通過window.frames[0]或者window.frames["topFrame"]引用頂層的框架。由于window對(duì)象是整個(gè)BOM的核心,因此再寫上面的代碼時(shí),可以忽略window對(duì)象不寫,直接寫frames[0]或者frames["topFrame"]即可。
            在框架中使用window對(duì)象,代表的是該框架本身。因此,還引入了top對(duì)象。該對(duì)象指向的是對(duì)頂層的框架,也就是瀏覽器窗口。
            此外,還有一個(gè)parent對(duì)象。顧名思義,parent指向該框架的父框架。看例子。
    <!--parent.html-->
    <html>
        
    <head></head>
        
    <frameset rows="100,*">
            
    <frame src="frame.html" name="topFrame" />
            
    <frameset cols="50%,50%">
                
    <frame src="anothorFrame.html" name="leftFrame"/>
                
    <frame src="anotherframeset.html" name="rightFrame"/>
            
    </frameset>
        
    </frameset>
    </html>
           其中,anotherframeset.html的代碼如下:
    <!--anotherframeset.html-->
    <html>
     
    <head>
      
    <title></title>
     
    </head>
     
    <body>
        
    <frameset cols="100,*">
            
    <frame src="red.html" name="redFrame"/>
            
    <frame src="blue.html" name="blueFrame"/>
        
    </frameset>
     
    </body>
    </html>
            如果在red.html或者blue.html中,parent指向parent.html中的rightFrame。如果代碼寫在parent.html中的topFrame中,那么parent指向top對(duì)象,也就是瀏覽器窗口。還有一個(gè)指針self,它總是等于window。

    參考書:
    《JavaScript高級(jí)編程》Nicolas C. Zakas著, 曹力 張欣 等譯。
    posted @ 2011-10-18 12:22 wawlian 閱讀(474) | 評(píng)論 (0)編輯 收藏
    修改host,加入 

    203.208.46.146 www.google.com 
    203.208.46.147 www.google.com.hk 
    203.208.46.132 clients1.google.com 
    203.208.46.149 mail.google.com 
    203.208.46.161 chatenabled.mail.google.com 
    203.208.46.161 mail-attachment.googleusercontent.com
    哈哈,找到解決辦法,速度明細(xì)加快 
    posted @ 2011-10-14 14:56 wawlian 閱讀(682) | 評(píng)論 (0)編輯 收藏
    以下內(nèi)容均是來自《鋒利的jQuery》,發(fā)到這里,純屬做個(gè)筆記,方便查閱。
    直接看代碼:

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     2         "http://www.w3.org/TR/html4/loose.dtd">
     3 <html>
     4 <head>
     5     <title></title>
     6     <script type="text/javascript" src="jquery-1.3.1.js">
     7 
     8     </script>
     9 
    10     <script type="text/javascript">
    11         $().ready(
    12             function() {
    13 
    14                 //表單對(duì)象屬性過濾選擇器
    15                 //1改變表單內(nèi)可用元素的值
    16                 //$('#form1 input:enabled').val("這里變化了");
    17 
    18                 //2改變表單內(nèi)不可用元素的值
    19                 //$('#form1 input:disabled').val("這里變化了");
    20 
    21                 //3選取多選框中選中的個(gè)數(shù)
    22                 //alert($('#form1 input:checked').length);
    23 
    24                 //4選取下拉框中選中的內(nèi)容
    25                 alert($('#form1 select :selected').length);
    26             }
    27         );
    28     </script>
    29 </head>
    30 <body>
    31     <form action="" id="form1">
    32         可用元素:<input name="add" value="可用文本框"/><br/>
    33         不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br/>
    34         可用元素:<input name="che" value="可用文本框"/><br/>
    35         不可用元素:<input name="name" disabled="disabled" value="不可用文本框"/><br/>
    36 
    37         <br/>
    38         多選框:<br/>
    39         <input type="checkbox" name="newsletter" checked="checked" value="test1"/>test1
    40         <input type="checkbox" name="newsletter" value="test2"/>test2
    41         <input type="checkbox" name="newsletter" value="test3"/>test3
    42         <input type="checkbox" name="newsletter" checked="checked" value="test4"/>test4
    43         <input type="checkbox" name="newsletter" value="test5"/>test5
    44 
    45         <div></div>
    46         <br/><br/>
    47         下拉列表:<br/>
    48         <select name="test" multiple="multiple" style="height:100px">
    49             <option>浙江</option>
    50             <option selected="selected">湖南</option>
    51             <option>北京</option>
    52             <option selected="selected">天津</option>
    53             <option>廣州</option>
    54             <option>湖北</option>
    55         </select>
    56 
    57         <br/><br/>
    58         下拉列表2:<br/>
    59         <select name="test2">
    60             <option>浙江</option>
    61             <option>湖南</option>
    62             <option selected="selected">北京</option>
    63             <option>天津</option>
    64             <option>廣州</option>
    65             <option>湖北</option>
    66         </select>
    67 
    68         <div></div>
    69     </form>
    70 </body>
    71 </html>
    posted @ 2011-06-17 16:51 wawlian 閱讀(309) | 評(píng)論 (0)編輯 收藏
         摘要: 以下內(nèi)容均是來自《鋒利的jQuery》,發(fā)到這里,純屬做個(gè)筆記,方便查閱。直接看代碼:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 <!DOCTYPE HTML PUBLIC ...  閱讀全文
    posted @ 2011-06-17 16:11 wawlian 閱讀(906) | 評(píng)論 (0)編輯 收藏
    MyEclipse 9.0 安裝了Flash Builder4.5,界面菜單都變成中文的了,完全不適應(yīng)。
    如果不習(xí)慣中文界面, 改回英文界面吧。只需要為 flash builder 加上啟動(dòng)參數(shù)
    " -clean -nl en_US "
    完成后記得將 -clean 去掉,以免每次啟動(dòng) flash builder 都執(zhí)行清理動(dòng)作而浪費(fèi)時(shí)間。
    posted @ 2011-06-15 14:04 wawlian 閱讀(541) | 評(píng)論 (0)編輯 收藏

    下載正確的版本,然后修改refhost.xml文件


    然后解壓,在目錄中找到refhost.xml(有兩個(gè),我的一個(gè)是在stage\prereq\db目錄下,一個(gè)是在stage\prereq\db_prereqs\db目錄下)進(jìn)行添加修,添加如下代碼:

    <!--Microsoft Windows 7-->
    <OPERATING_SYSTEM>
    <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>

    注:如果安裝的是客戶端,將路徑中的db改為client即可。

    而后還要修改一個(gè)oraparam.ini文件,在install目錄下

    先在[Certified Versions]
    #You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
    #Windows=5.0,5.1,5.2,6.0,6.1

    注:即在#Windows=5.0,5.1,5.2后面添加 ,6.0,6.1

    再添加下面代碼:

    #[Windows-6.1-required]
    #Minimum display colours for OUI to run
    MIN_DISPLAY_COLORS=256
    #Minimum CPU speed required for OUI
    #CPU=300
    #[Windows-6.1-optional]


    以管理員身份運(yùn)行setup.exe

    posted @ 2011-06-02 21:13 wawlian 閱讀(656) | 評(píng)論 (1)編輯 收藏
     1 //升序插入排序
     2     public static int[] insertSort(int[] a) {
     3         for(int i = 1; i < a.length; i++) {
     4             int j = i-1;
     5             int tmp = a[i];
     6             while(j >= 0 && a[j] > tmp) {
     7                 a[j+1= a[j];
     8                 j = j -1;
     9             }
    10             a[j+1= tmp;
    11         
    12         }
    13         
    14         return a;
    15     }
    16     
    17     //降序插入排序
    18     public static int[] insertSortDesc(int[] a) {
    19         for(int j=1; j < a.length; j++) {
    20             int i = j - 1;
    21             int key = a[j];
    22             while(i >= 0 && a[i] < key) {
    23                 a[i+1= a[i];
    24                 --i;
    25             }
    26             a[i+1= key;
    27         }
    28         return a;
    29     }
    posted @ 2011-05-25 14:02 wawlian 閱讀(173) | 評(píng)論 (0)編輯 收藏

    在flex4中,滾動(dòng)條是屬于group的,flex4中沒有了直接的垂直和水平滾動(dòng)條,取而代之的是用一個(gè)group里面包含了一個(gè)scroller,這個(gè)scroller有2個(gè)屬性,垂直和水平滾動(dòng)條。

    如果TextArea要隱藏或者顯示滾動(dòng)條,用style
    horizontalScrollPolicy和verticalScrollPolicy,而不是3的mx里面的屬性。

    而將滾動(dòng)條移至底端,不能直接設(shè)置verticalScrollPosition,而用以下方法
    <s:TextArea x="30" y="10" width="175" id="txt"/>
    <fx:Script>
        txt.text = "xxxx...";
        txt.validateNow();
        txt.scroller.verticalScrollBar.value = txt.scroller.verticalScrollBar.maximum;
    </fx:Script>


    validateNow方法驗(yàn)證并更新此對(duì)象的屬性和布局,如果需要的話重繪對(duì)象。
    這個(gè)方法比較重要,因?yàn)樵趂lex里面不會(huì)像flash設(shè)置了text立即就會(huì)顯示文本的高度和寬度。非要重繪,或者,監(jiān)聽enterFrame或者其它事件,等控件外觀更新完成后,才能真正獲取到寬度,高度,verticalScrollBar.maximum,等文字相關(guān)屬性。


    posted @ 2011-04-24 17:16 wawlian 閱讀(2620) | 評(píng)論 (0)編輯 收藏
    http://piziwang.iteye.com/blog/479825 
    posted @ 2011-04-23 23:35 wawlian 閱讀(372) | 評(píng)論 (0)編輯 收藏

    在開發(fā)過程中,我們經(jīng)常會(huì)遇到讀取配置文件的情況,對(duì)于配置文件的讀取,根據(jù)環(huán)境等情況又各有不同,一般情況下,如果從非jar包中使用相對(duì)/路徑,比較簡單,就不在累述了,而在很多
    情況下,我們需要把我們的class打包成jar文件,進(jìn)行使用,這時(shí)就會(huì)發(fā)現(xiàn),我們先前如果沒有考慮到這些,可能就行不通了,那么,該如何解決呢?方法如下

    有如下路徑 :
    Web-info--|-->classes--->conf-->config.properties
       |-->lib
    此時(shí)加入我們需要讀取config.properties,在不使用jar包時(shí),使用如下方式讀取,不失為一種方法:
    File f = new File(this.getClass().getResource("/").getPath());
    f = new File(f.getPath() + "/conf/config.properties");
    注:f.getPath()即為當(dāng)class所在的絕對(duì)路徑。如:c:\javasrc\web-inf\classes
    然后,對(duì)文件對(duì)象進(jìn)行處理,就能把配置信息讀取出來了,但是加入如上class被打包成jar文件,那么,在程序執(zhí)行到這里時(shí),就會(huì)無法找到配置文件,那么該如何處理呢?
    處理方法如下:
    String s_config="conf/config.properties";
     InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
    if( in == null ){
     System.out.println( " 打開 " + s_config + "失敗!" );
    }else
    {
    Properties properties = new Properties();
    properties.load(in);
    //
    //接下來就可以通過properties.getProperty(String obj)方法對(duì)進(jìn)行配置信息讀取了
    }

     

    本文來自CSDN博客,轉(zhuǎn)自:http://blog.csdn.net/wjmmml/archive/2004/09/27/118404.aspx

    posted @ 2011-04-22 20:46 wawlian 閱讀(286) | 評(píng)論 (0)編輯 收藏
    http://lqw.iteye.com/blog/538238
    posted @ 2011-04-20 16:04 wawlian 閱讀(245) | 評(píng)論 (0)編輯 收藏

    我自己在學(xué)習(xí)Flex的時(shí)候碰到了這個(gè)問題,上網(wǎng)找了一些覺得都很麻煩。因?yàn)槲沂鞘褂肦emoteObject和Java

    結(jié)合,后臺(tái)還集成了spring。在jsp中要獲取客戶端IP地址最簡單的辦法就是拿到request對(duì)象,但是我是獲取的spring中的bean,通過spring好像不行,但是我在查看springfactroy代碼的時(shí)候有個(gè)非常發(fā)現(xiàn):

    就是flex.messaging.FlexContext這個(gè)類有個(gè)靜態(tài)方法:flex.messaging.FlexContext.getHttpRequest()

    取到HttpRequest后面在拿getRemoteAddr就不用多說了:

       flex.messaging.FlexContext.getHttpRequest().getRemoteAddr()就這么簡單.呵呵。

    我的環(huán)境是Java+spring+blazeds+flex+RemoteObject實(shí)現(xiàn)。

    posted @ 2011-04-20 15:57 wawlian 閱讀(1065) | 評(píng)論 (0)編輯 收藏
    http://wawlian.javaeye.com/blog/975029
    posted @ 2011-03-25 11:25 wawlian 閱讀(188) | 評(píng)論 (0)編輯 收藏

    1.云計(jì)算基礎(chǔ)

    1.1云計(jì)算概述

    1.1.1 解惑——什么是云計(jì)算 

          實(shí)質(zhì)上,云計(jì)算是一種構(gòu)造,它允許訪問實(shí)際駐留在你的計(jì)算機(jī)以外的某個(gè)位置或者其他Internet連接的設(shè)備上的應(yīng)用程序。通常,它是遠(yuǎn)程數(shù)據(jù)中心。

          云計(jì)算的優(yōu)點(diǎn)是:另一家公司托管你的應(yīng)用程序,這意味著他們處理服務(wù)器費(fèi)用,管理軟件更新,而你為服務(wù)支付相對(duì)較少的費(fèi)用。

          云計(jì)算缺點(diǎn):弱連接(網(wǎng)絡(luò)故障、出于安全的考量);集成問題(如果應(yīng)用程序在地理上是分散的,那么很難管理他們)

    1.1.2 云組件

          從簡單的拓?fù)浞矫鎭碚f,云計(jì)算解決方案由以下幾部分組成:客戶、數(shù)據(jù)中心、分布式服務(wù)器。

          1.客戶:與普通局域網(wǎng)的客戶一樣

          2.數(shù)據(jù)中心:用于存放你預(yù)定的應(yīng)用程序的服務(wù)器集合。

          3.分布式服務(wù)器:服務(wù)器不必全都安在一個(gè)位置。通常,服務(wù)器在地理上是分散的。但是對(duì)于你(云用戶)來說,這些服務(wù)器工作時(shí),就好像它們是彼此相鄰的。

    1.1.3 基礎(chǔ)設(shè)施

          1.網(wǎng)格計(jì)算

     

          人們通常把網(wǎng)格計(jì)算和云計(jì)算弄混淆,實(shí)際上它們區(qū)別非常大。網(wǎng)格計(jì)算在同一時(shí)間針對(duì)單個(gè)問題把網(wǎng)絡(luò)中的眾多計(jì)算機(jī)資源應(yīng)用于工作。

          網(wǎng)格計(jì)算需要使用某種軟件,他可以劃分程序段,然后把他們發(fā)送給數(shù)千臺(tái)計(jì)算機(jī)。可以在組織的所有計(jì)算機(jī)上完成這個(gè)任務(wù),或者以公共協(xié)作的形式完成它。

          由于以下原因,網(wǎng)格計(jì)算變得非常吸引人:

          (1)它是一種使用給定數(shù)量的計(jì)算機(jī)資源的經(jīng)濟(jì)的方式

          (2)它可以解決需要很高計(jì)算性能的問題

          (3)可以協(xié)作式共享很多計(jì)算機(jī)的資源,而無需一臺(tái)計(jì)算機(jī)管理其他計(jì)算機(jī)。

     

          2.完全虛擬化

     

          完全虛擬化是使完全安裝的一臺(tái)機(jī)器在另一臺(tái)機(jī)器上運(yùn)行的技術(shù)。結(jié)果會(huì)得到一種系統(tǒng),其中,在服務(wù)器上運(yùn)行的所有軟件都位于虛擬機(jī)內(nèi)。

          這種方式不僅允許運(yùn)行獨(dú)特的應(yīng)用程序,而且允許運(yùn)行不同的操作系統(tǒng)。虛擬化與云計(jì)算相關(guān),因?yàn)樗窃L問云上服務(wù)的方式之一。也就是說,遠(yuǎn)程數(shù)據(jù)中心可能以完全虛擬化的方式提供服務(wù)。

          為了實(shí)現(xiàn)完全虛擬化,必須借助特定的硬件組合。知道2005年,AMD-Virtualization(AMD-V)和Intel Virtualization Technology(IVT)擴(kuò)展的引入才使得完全虛擬化成為可能。

          完全虛擬化優(yōu)點(diǎn):

          (1)在多個(gè)用戶中共享計(jì)算機(jī)系統(tǒng)

          (2)把用戶之間隔開以及把用戶和控制程序之間隔開

          (3)仿真另一臺(tái)計(jì)算機(jī)的硬件。

     

          3.半虛擬化

          半虛擬化通過高效的使用系統(tǒng)資源,允許同時(shí)在單個(gè)硬件設(shè)備上運(yùn)行多個(gè)操作系統(tǒng)。

          在完全虛擬化中,將仿真整個(gè)系統(tǒng),但是在半虛擬化中,管理模塊與虛擬機(jī)中的系統(tǒng)協(xié)同工作。在半虛擬化系統(tǒng)中,可以同時(shí)運(yùn)行許多不同的操作系統(tǒng)。

          半虛擬化在以下方面表現(xiàn)的最佳:

          (1)災(zāi)難恢復(fù):發(fā)生災(zāi)難,可以將Guest系統(tǒng)移植別的硬件

          (2)遷移:方便遷移

          (3)容量管理:虛擬化環(huán)境中會(huì)更加容易添加更多處理能力或硬盤。

    posted @ 2011-03-22 11:14 wawlian 閱讀(346) | 評(píng)論 (0)編輯 收藏

    XMLHttpRequest的readyState:

    0:未初始化——?jiǎng)?chuàng)建

    1:初始化——open

    2:發(fā)送請(qǐng)求——send

    3:開始接受結(jié)果

    4:接收結(jié)果完畢

    狀態(tài)每改變一次,調(diào)用一次回調(diào)函數(shù)。方法調(diào)用5次,但是前兩次的readyState==1

     

    onreadystatechange = callback

    綁定回調(diào)函數(shù),不加()。

     

    XMLHttpRequest的status:

    200 OK

    404 Not Found

    500 Serevr Error

     1 var xmlHttpRequest;
     2     
     3     //創(chuàng)建XMLHttpRequest對(duì)象
     4     function createXmlHttpRequest() {
     5         var xmlHttp;
     6         if(window.ActiveXObject) {
     7             try {
     8                 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
     9             } catch (e) {
    10                 xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    11             }
    12         }else if(window.XMLHttpRequest) {
    13             xmlHttp = new XMLHttpRequest()
    14         }
    15         
    16         return xmlHttp;
    17     }
    18     
    19 
    20     function checkExist() {
    21         xmlHttpRequest = createXmlHttpRequest();
    22         xmlHttpRequest.onreadystatechange = callBack;
    23         
    24         var url = "http://localhost:8080/Ajax/CheckUser?uname="+document.getElementById("userName").value;
    25         
    26         xmlHttpRequest.open("GET", url, true);
    27         xmlHttpRequest.send(null);
    28     }
    29     
    30     function callBack() {
    31         if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
    32             var result = xmlHttpRequest.responseText;
    33             //
    34         }
    35     }
    posted @ 2011-03-14 15:36 wawlian 閱讀(217) | 評(píng)論 (0)編輯 收藏

    Ajax中請(qǐng)求被緩存的問題

    在Ajax開發(fā)中,會(huì)遇到瀏覽器緩存內(nèi)容的問題,比如,某個(gè)元素注冊(cè)了鼠標(biāo)事件(onmouseover),事件觸發(fā)后會(huì)通過 xmlhttprequest到服務(wù)器獲取內(nèi)容,在不刷新頁面的情況下,瀏覽器會(huì)緩存第一次請(qǐng)求的內(nèi)容,服務(wù)端更新后瀏覽器仍然顯示第一次的內(nèi)容。

    通常,這種請(qǐng)求都是xmlhttprequest發(fā)起的GET請(qǐng)求。根據(jù) HTTP 規(guī)范,GET 用于信息獲取,而且應(yīng)該是冪等的。也就是說,當(dāng)使用相同的URL重復(fù)GET請(qǐng)求會(huì)返回預(yù)期的相同結(jié)果時(shí),GET方法才是適用的。當(dāng)對(duì)一個(gè)請(qǐng)求有副作用的時(shí)候(例如,提交數(shù)據(jù)注冊(cè)新用戶時(shí)),應(yīng)該使用POST請(qǐng)求而不是GET。所以瀏覽器會(huì)對(duì)GET請(qǐng)求做緩存處理。

    解決辦法:

    一. GET請(qǐng)求URL后附加字串,讓服務(wù)器認(rèn)為不是相同的請(qǐng)求。

    例 "http://www.example.com/index.php?class=aitcle&page=5&_t=" + new Date().getTime()

    二. 在ajax發(fā)送請(qǐng)求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0")

    三. 在ajax發(fā)送請(qǐng)求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");

    四. 服務(wù)端響應(yīng)請(qǐng)求時(shí)加 header("Cache-Control: no-cache, must-revalidate"); (PHP)

    五. 使用POST代替GET,瀏覽器不會(huì)對(duì)POST做緩存

     

     

    轉(zhuǎn)自 http://yanglei008.javaeye.com/blog/222401

    posted @ 2011-03-14 15:34 wawlian 閱讀(396) | 評(píng)論 (0)編輯 收藏
    唯一約束

    唯一約束與創(chuàng)建唯一索引基本上是一回事,因?yàn)樵趧?chuàng)建唯一約束的時(shí)候,系統(tǒng)會(huì)創(chuàng)建對(duì)應(yīng)的一個(gè)唯一索引,通過唯一索引來實(shí)現(xiàn)約束。不過唯一約束更直觀的表達(dá)了對(duì)應(yīng)列的唯一性,使得對(duì)應(yīng)索引的目的更加清晰,所以一般建議創(chuàng)建唯一約束而不是只創(chuàng)建唯一索引。

    在PD中創(chuàng)建唯一約束的操作,以教室表來說,RoomID是主鍵,必然是唯一的,RoomName如果我們也要去必須是唯一的,那么具體操作如下:

    在PD的模型設(shè)計(jì)面板中,雙擊“教室”表,打開屬性窗口,切換到"”Keys”選項(xiàng)卡,可以看到里面有一行數(shù)據(jù)PK_ClassRoom,這是主鍵約束。添加一行數(shù)據(jù),命名為UQ_RoomName,不能將右邊的“P”列選上,然后單擊工具欄的“屬性”按鈕,彈出UQ_RoomName的屬性窗口,切換到列選項(xiàng)卡,單擊增加列按鈕,選擇將RoomName列添加到其中,然后單擊確定即可完成唯一約束的添加。



    這樣系統(tǒng)就會(huì)自動(dòng)創(chuàng)建唯一約束。

    CHECK約束

    CHECK分為列約束和表約束,列約束是只對(duì)表中的某一個(gè)列進(jìn)行的約束,可以在列的屬性中進(jìn)行設(shè)置,而表約束是對(duì)多個(gè)列進(jìn)行的約束,需要在表的屬性中進(jìn)行設(shè)置(其實(shí)列約束也可以在表約束中設(shè)置)。

    1.標(biāo)準(zhǔn)CHECK約束

    對(duì)于一些常用的CHECK約束,可以直接通過設(shè)置界面來完成。以班級(jí)表為例,ClassName每個(gè)學(xué)校有自己的命名規(guī)則,假設(shè)這里規(guī)定ClassName必須以2開頭,那么需要在ClassName列上定義CHECK約束,使得其滿足命名規(guī)范。具體操作是在PD中雙擊Class表,打開Class的屬性窗口,切換到列選項(xiàng)卡,選擇ClassName列,單擊工具欄的“屬性”按鈕,彈出ClassName的屬性窗口,切換到StandardChecks選項(xiàng)卡如圖:



    在這個(gè)選項(xiàng)卡可以定義屬性的標(biāo)準(zhǔn)檢查約束,窗口中每項(xiàng)的參數(shù)的含義,如下:

    參數(shù) 說明
    Minimum 屬性可接受的最小數(shù)
    Maximum 屬性可接受的最大數(shù)
    Default 屬性不賦值時(shí),系統(tǒng)提供的默認(rèn)值
    Unit 單位,如公里、噸、元
    Format 屬性的數(shù)據(jù)顯示格式
    Lowercase 屬性的賦值全部變?yōu)樾懽帜?
    Uppercase 屬性的賦值全部變?yōu)榇髮懽帜?
    Cannot modify 該屬性一旦賦值不能再修改
    List Of Values 屬性賦值列表,除列表中的值,不能有其他的值
    Label 屬性列表值的標(biāo)簽
    2.直接編寫SQL語句的CHECK約束

    在前面彈出ClassName屬性窗口中,單擊左下角的“More”按鈕,系統(tǒng)將彈出更多的選項(xiàng)卡,切換到“Additional Checks”選項(xiàng)卡,可以設(shè)置約束名和具體的約束內(nèi)容,如圖所示:



    表級(jí)的CHECK約束與列級(jí)的CHECK約束設(shè)置類似,單擊表屬性窗口左下角的“More”按鈕,切換到Check選項(xiàng)卡,設(shè)置CHECK約束的命名和SQL語句內(nèi)容。



    3.使用Rule創(chuàng)建約束

    同樣以班級(jí)名必須以2開頭為例,通過Rule創(chuàng)建CHECK約束。首先需要?jiǎng)?chuàng)建一個(gè)Rule,雙擊Class表,打開表的屬性窗口,切換到Rules選項(xiàng)卡,單擊“Create a Object”按鈕,系統(tǒng)將打開一個(gè)業(yè)務(wù)規(guī)則屬性窗口,修改規(guī)則名,并將規(guī)則的類型修改為Constraint,如圖所示:



    然后切換到Expression選項(xiàng)卡,設(shè)置規(guī)則的內(nèi)容為“ClassName LIKE '2%'”,單擊確定按鈕即可完成Rule的設(shè)置。切換到表屬性的Check選項(xiàng)卡,默認(rèn)約束內(nèi)容中的“%RULES%”就是用來表示Rule中設(shè)置的內(nèi)容,如果我們還有一些其他的CHECK約束內(nèi)容,不希望在Rule中設(shè)置,而是在Check選項(xiàng)卡中設(shè)置,那么只需要?jiǎng)h除%RULES%將CHECK約束內(nèi)容添加進(jìn)去,也可以保留%RULES%,然后在與%RULES%之間添加一個(gè)and即可。比如規(guī)定ClassID必須小于10000,那么我們可以將Check內(nèi)容設(shè)置如下:



    生成的腳本如下:

    create table Class (
       ClassID              int                  not null,
       ClassName            varchar(20)          not null,
       constraint PK_CLASS primary key nonclustered (ClassID),
       constraint CKT_CLASS check (ClassID<10000),
       constraint ClassNameRule check (ClassName LIKE '2%')
    )
    go

    可以看到,根據(jù)Rule生成的CHECK約束與在Check選項(xiàng)卡中設(shè)置的約束將分別創(chuàng)建一個(gè)約束,相互并不影響。

    默認(rèn)約束

    默認(rèn)約束是用戶在沒有輸入值的情況下,系統(tǒng)給出默認(rèn)的值。最常用的是CreateTime字段,設(shè)置默認(rèn)值為getdate(),在用戶創(chuàng)建一行數(shù)據(jù)時(shí)記錄下創(chuàng)建時(shí)間。例如對(duì)于選課表,需要記錄下選課的時(shí)間,則可以設(shè)置ApplyTime的默認(rèn)值為getdate()函數(shù)。



    設(shè)置默認(rèn)值約束的操作如下:雙擊選課表,打開表屬性窗口,選擇ApplyTime字段,單擊工具欄的屬性按鈕,打開列的屬性窗口,切換到Standard Checks選項(xiàng)卡,在Default下拉列表框中選擇getdate()即可。



    至此我們所有的約束在PD中的設(shè)置都介紹完了,下一篇將介紹視圖、存儲(chǔ)過程等數(shù)據(jù)庫對(duì)象。

    from: http://www.cnblogs.com/studyzy/archive/2009/12/17/1626650.html
    posted @ 2011-02-14 20:32 wawlian 閱讀(1686) | 評(píng)論 (0)編輯 收藏
    通過jQuery選擇器獲取到的永遠(yuǎn)是一個(gè)對(duì)象,幾十頁面上根本沒有該元素。因此,如果要使用jQuery檢查元素再給某個(gè)頁面上是否存在的時(shí)候,不能使用以下代碼:
    1if ($("#tt")) {
    2    //do sth.
    3}
    而應(yīng)該通過獲取到的元素的長度來判斷,代碼如下:
    1if ($("#tt").lenght > 0{
    2    //do sth
    3}
    或者通過轉(zhuǎn)換成JavaScript對(duì)象的方式來進(jìn)行處理:
    1if ($("#tt")[0]) {
    2    //do sth
    3}
    posted @ 2011-01-10 10:55 wawlian 閱讀(7643) | 評(píng)論 (1)編輯 收藏
     

    選擇器

    語法

    描述

    實(shí)例

    標(biāo)簽選擇器

    E{

        CSS規(guī)則

    }

    以文檔元素作為選擇符

    td{

    font-size:14px

    width:120px

    }

    ID選擇器

    #ID{

        CSS規(guī)則

    }

    以文檔元素的唯一標(biāo)識(shí)ID作為選擇符

    #note {

        font-size:14px

    width:120px

    }

    類選擇器

    E.classname {

        CSS規(guī)則

    }

    以文檔元素的class作為選擇符

    .dream {

        font-size:14px

    }

    群組選擇器

    E1,E2,E3 {

        CSS規(guī)則

    }

    多個(gè)選擇符應(yīng)用同樣的樣式

    td,p,div.a {

        font-size:14px

    }

    后代選擇器

    E F {

        CSS規(guī)則

    }

    元素E的任意后代元素F

    #links a {

        font-size:14px

    }

    通配選擇器

    * {

        CSS規(guī)則

    }

    以文檔的所有元素作為選擇符

    *{

        font-size:14px

    }

    posted @ 2011-01-10 10:49 wawlian 閱讀(156) | 評(píng)論 (0)編輯 收藏
    見代碼和注釋
     1import java.text.SimpleDateFormat;
     2import java.util.Calendar;
     3import java.util.Date;
     4import java.util.GregorianCalendar;
     5public class DateTesting {
     6/**
     7@param args
     8*/

     9public static void main(String[] args) {
    10   // TODO Auto-generated method stub
    11  
    12  
    13   //1、如何根據(jù)給定的年月日構(gòu)造日期對(duì)象
    14   //需要構(gòu)造2008-3-15
    15   //用GregorianCalendar類描述日期時(shí),由于月份是從0開始計(jì)數(shù)的,所以實(shí)際的月份值總是比計(jì)數(shù)值大1.
    16   GregorianCalendar calendar=new GregorianCalendar(2008,2,15);
    17   Date tempDate=calendar.getTime();
    18   System.out.println(tempDate.toLocaleString());
    19  
    20   SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
    21   System.out.println(sdf.format(tempDate));
    22  
    23  
    24   //2、如何根據(jù)給定的日期對(duì)象分解年、月、日
    25        //獲取系統(tǒng)當(dāng)前時(shí)間
    26   Date currentDate=new Date();
    27   System.out.println(currentDate.getTime());
    28   GregorianCalendar ca=new GregorianCalendar();
    29   ca.setTime(currentDate);
    30   int year=ca.get(Calendar.YEAR);
    31   int month=ca.get(Calendar.MONTH)+1;
    32   int day=ca.get(Calendar.DAY_OF_MONTH);
    33  
    34   System.out.println("年份的值: "+year);
    35   System.out.println("月份的值: "+month);
    36   System.out.println("一個(gè)月中某天的值: "+day);
    37  
    38  
    39   //3、給定兩個(gè)日期: 2008-8-10   2008-8-16 日 ,需要計(jì)算這兩個(gè)日期之間相差的天數(shù)
    40   //在JAVA語言系統(tǒng)中,所有的時(shí)間都是以1970年1月1日,00時(shí)00分00秒000毫秒為時(shí)間的開始點(diǎn)計(jì)算的。
    41  
    42   GregorianCalendar firstCa=new GregorianCalendar(2008,7,10);
    43   Date firstDate=firstCa.getTime();
    44  
    45  
    46   GregorianCalendar secondCa=new GregorianCalendar(2008,7,16);
    47   Date seconDate=secondCa.getTime();
    48  
    49   long distance=seconDate.getTime()-firstDate.getTime();
    50   int result=(int)(distance/86400/1000);
    51   System.out.println("間隔的天數(shù): "+result);
    52  
    53  
    54   //4、給定一個(gè)日期,例如:2008-4-21, 如何計(jì)算15天以后的時(shí)間日期???
    55  
    56   GregorianCalendar tpCalendar=new GregorianCalendar(2008,3,20);
    57   Date tpDate=tpCalendar.getTime();
    58  
    59   long tp=tpDate.getTime();
    60   tp=tp+8*86400*1000;
    61   tpDate.setTime(tp);
    62   System.out.println(sdf.format(tpDate));
    63  
    64}

    65}

    66
    posted @ 2011-01-03 21:08 wawlian 閱讀(175) | 評(píng)論 (0)編輯 收藏
    CVSNT是服務(wù)器管理工具,再在客戶端下個(gè)WINCVS就可以(關(guān)于wincvs使用,可以在網(wǎng)上找下,因?yàn)閑clipse已經(jīng)很好地集成了 cvs)就可以一起協(xié)同工作了。這二天我從下載CVSNT到用eclipse新建項(xiàng)目,共享項(xiàng)目,不同的客戶端導(dǎo)入項(xiàng)目都在公司局域網(wǎng)內(nèi)的不同機(jī)子上測試 通過。記錄如下:

    首先從http://www.cvsnt.org處下得你想要的cvsnt版本,我下的是2.5.03,安裝完成后。從程序中打開cvsnt control panel(CVSNT 控制面板)。下面開始配置CVSNT,主要是創(chuàng)建資源并讓它可以通過客戶端的IDE (eclipse)來訪問。

      開始配置cvsnt

      a 查看運(yùn)行狀態(tài):
      在about面板有個(gè)cvsnt  和 cvsnt lock二個(gè)選項(xiàng),這兒可以對(duì)其進(jìn)行start,stop服務(wù)

      b 添加資源
      在repository config面板中可以添加刪除資源,這兒主要設(shè)定了repository 的name and  root值。如我在這兒將name設(shè)置為\mycvs,root為e:\mycvs。創(chuàng)建后會(huì)在對(duì)應(yīng)的目錄下生成cvsroot文件夾及cvs相關(guān)配置文 件。 OK,確定。這個(gè)地方可以要重啟服務(wù)才能生效

      c 兼容:
      在conpatibility option 面板上選擇兼容的版本,注意一定要勾上respond as cvs 1.11.2 to version request,為了與eclipse中的cvs兼容(在eclipse中的cvs版本很可能與你cvsnt版本不同)。

    好了,現(xiàn)在服務(wù)器上的資源路徑已經(jīng)設(shè)定好了。


    通過IDE共享一個(gè)工程  


    打開eclipse新建一個(gè)項(xiàng)目,然后在項(xiàng)目上右擊/team/share project (小組/共享項(xiàng)目),在彈出的share  project whith cvs reposity對(duì)話框中選擇一個(gè)cvs路徑(第一次當(dāng)然是新建了),在host中填入CVSNT的主機(jī)地址如:192.168.12.17,在 repository path中填入cvsnt中的name值如:/mycvs。user中寫cvsnt所分配的用戶名,password中寫入密碼(下面將會(huì)講些cvs中如 何管理用戶)。在connection type中一般選擇pserver連接類型。然后就是記住密碼什么的...  :-)。OK ,NEXT提示一路完成!

       
    在客戶端從cvs上導(dǎo)入共享工程:


    在客戶端的eclipse中打開cvs視圖,根據(jù)CVSNT的路徑及其給你所分配的用戶相關(guān)信息新建一個(gè)CVS的資源路徑。ok,開始引入共享工程了:

    可以直接從cvs中check out出來,也可以從new/project/cvs/projects from cvs。選中你剛剛把建立cvsnt資源路徑,你可以在use an existing module中看到所有的共享項(xiàng)目了。然后選擇一個(gè)你想導(dǎo)入的項(xiàng)目check out出來到本機(jī)....

      全部完成^_^,本來想剪幾個(gè)圖上來的,有些麻煩,太不方便了。不過過程比較簡單,很快就可以搞定。客戶端將cvsnt上的工程檢出是比較 簡單的。主要是在cvsnt上的相關(guān)配置。我在網(wǎng)上找了些資料,完成了如添加不同的用戶。介紹有個(gè)cvsnt的GUI工具可以直接圖形化操作。看介紹很 easy ,下載URL:http://www.kdeopen.com(偶一直打不開,郁悶,希望各位運(yùn)氣比我好) 。我只好在控制臺(tái)下添加刪除用戶了。

      cvsnt用戶管理

      在用戶管理中以下是cvs的一些命令參數(shù)
    Usage: cvs passwd [-a] [-x] [-X] [-r real_user] [-R] [-D domain] [username]
             -a      Add user
             -x      Disable user
             -X      Delete user
             -r      Alias username to real system user
             -R      Remove alias to real system user
             -D      Use domain password

      服務(wù)器工作在CVSNT用戶單一驗(yàn)證方式下的時(shí)候,文件passwd定義了CVSNT的用戶信息,這里面保存著用戶名,用戶密碼,以及別名 信息。默認(rèn)狀態(tài)下 沒有該文件,但是我們可以在CVSNT還工作在混合驗(yàn)證方式下時(shí),用系統(tǒng)管理員登錄,通過添加用戶命令來讓CVSNT自動(dòng)建立一個(gè)passwd文件。

     登錄:login
      cvs -d :pserver:administrator@127.0.0.1:/mycvs login

     添加用戶
      cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -a zyx

    之后系統(tǒng)提示輸入密碼,輸入后服務(wù)器會(huì)新建一個(gè)passwd文件。該文件的內(nèi)容很簡單,形式如下:

    zyx:YT2p2NmdmUlEg:

      以第一行為例:zyx為用戶名,YT2p2NmdmUlEg為CVS使用UNIX標(biāo)準(zhǔn)加密函數(shù)對(duì)密碼進(jìn)行加密后的結(jié)果。

      若想以混合驗(yàn)證的方式驗(yàn)證得對(duì)應(yīng)一個(gè)window的系統(tǒng)用戶名(zyinxin),這時(shí)就用參數(shù)-r來指定,如:
          cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -r zyinxin -a zyx 

    這時(shí)生成文件內(nèi)容如下:
    zyx:YT2p2NmdmUlEg:zyinxin
    zyinxin為該用戶的別名(它是參考系統(tǒng)用戶),

    注意:這個(gè)文件是不能在客戶端進(jìn)行修改的,不能checkout出來。

      添加完成后你可以通過login來測試用戶zyx是否創(chuàng)建成功

      刪除用戶:
      cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -x zyx




    附:參考了網(wǎng)上一些資料,剛剛學(xué)習(xí),愿一起進(jìn)步。謝謝!

    posted @ 2011-01-02 16:34 wawlian 閱讀(674) | 評(píng)論 (0)編輯 收藏
    MyEclipse6.0的快捷鍵中把我們習(xí)慣性使用的Alt+/進(jìn)行代碼自動(dòng)補(bǔ)齊的快捷鍵改為了ctrl+空格,大家知道這是我們切換中英文輸入法的 鍵,所以我們需要更改這個(gè)快捷鍵,方法如下:
    1.
    選擇MyEclipse6.0菜單欄中的Window->preferences
    2.
    選擇General->keys;
    3.
    在右側(cè)中間的窗體中點(diǎn)擊word completion后再點(diǎn)擊remove binding,在下方的binding中隨便輸入一個(gè)快捷鍵;
    4.
    然后選擇Content Assist點(diǎn)擊Remove binding,在binding中輸入Alt+/
    5.
    點(diǎn)擊Ok就可以了。
    如果還是不提示有可能是提示功能被關(guān)了. 如下做
    1
    、菜單window->Preferences->Java->Editor->Content Assist->Enable auto activation 選項(xiàng)要打上勾
    2
    window->Preferences->Java->Editor->Content Assist->Advanced   上面的選項(xiàng)卡Select the proposal kinds contained in the 'default' content assist list: 中把 Other Java Proposals 選項(xiàng)打上勾就可以了。

    讓Eclipse,MyEclipse擁有Microsoft Visual Studio那樣的自動(dòng)提示功能:

    一般默認(rèn)情況下,Eclipse ,MyEclipse 的代碼提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多選項(xiàng)是默認(rèn)關(guān)閉的,要開發(fā)者自己去手動(dòng)配置。如果開發(fā)者不清楚的話,就不知道Eclipse ,MyEclipse的代碼提示功能一樣能像Microsoft Visual Studio的代碼提 示功能一樣強(qiáng)大。好了,廢話就說那么多了,讓我們來配置一下

    1.打開Eclipse或者M(jìn)yEclipse,點(diǎn)擊 "窗口">>"首選項(xiàng)">>"Java">>"編輯器">>"內(nèi)容輔助"

    2.在 "內(nèi)容輔助" 面板里找到 "Java的自動(dòng)激活觸發(fā)器" ,在  "Java的自動(dòng)激活觸發(fā)器"  左邊的輸入框里輸入 ".abc ",點(diǎn)擊 "應(yīng)用">>"確定"

    3.點(diǎn)擊 "文件">>"導(dǎo)出">> "常規(guī)" >> "首選項(xiàng)" 然后選擇你要導(dǎo)出的文件路徑

    4.用記事本打開剛才導(dǎo)出的文件,找到 ".abc",然后把它替換成 " .abcdefghijklmnopqrstuvwxyz(, "  ,保存

    5.將剛才修改的文件導(dǎo)入到Eclipse或者是MyEclipse中,點(diǎn)擊 "文件">>"導(dǎo)入">>"常規(guī)">>"首選項(xiàng)",然后選擇剛才修改的文件這樣Eclipse, MyEclipse就可以像Microsoft Visual Studio那樣的自動(dòng)提示功能了!

    posted @ 2010-12-29 20:28 wawlian 閱讀(361) | 評(píng)論 (0)編輯 收藏

    <2010年12月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲人成无码网站| 特黄特色大片免费| 日韩精品极品视频在线观看免费| mm1313亚洲精品无码又大又粗| 久久亚洲精品专区蓝色区| 亚欧免费一级毛片| 情人伊人久久综合亚洲| 大妹子影视剧在线观看全集免费| 免费在线精品视频| 亚洲AV综合永久无码精品天堂| 可以免费看黄视频的网站| 亚洲美女大bbbbbbbbb| 亚洲精品免费在线观看| 亚洲国产精品VA在线看黑人| 国产无遮挡又黄又爽免费网站| 亚洲日本韩国在线| 人妻仑乱A级毛片免费看| 男人的天堂亚洲一区二区三区| 亚洲中文字幕日本无线码| av无码免费一区二区三区| 亚洲精品免费在线| 国产精成人品日日拍夜夜免费 | 亚洲导航深夜福利| 91精品国产免费久久国语麻豆| 五月天网站亚洲小说| 日韩精品免费视频| 亚洲成在人天堂在线| 免费不卡在线观看AV| 亚洲嫩草影院久久精品| 91香蕉国产线观看免费全集| 久久久久亚洲精品天堂| 2020因为爱你带字幕免费观看全集 | 亚洲人精品亚洲人成在线| 免费一本色道久久一区| jiz zz在亚洲| 日本媚薬痉挛在线观看免费| 麻豆亚洲AV成人无码久久精品| 国产一级高清视频免费看| 免费高清A级毛片在线播放| 亚洲午夜精品第一区二区8050| 久久精品成人免费观看97|