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

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

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

    posts - 495,  comments - 11,  trackbacks - 0
     

    怎么樣用left join 把行改成列

    怎么樣用left join 把行改成列
    有如下表a1

    學號???? 姓名?? 課程類型?? 學分數
    2001?? 李四???? 公共課???????? 2
    2001?? 李四???? 專業課???????? 1
    2001?? 李四???? 公共課???????? 3
    2001?? 李四???? 專業課???????? 2

    通過查詢器查詢成
    學號???????? 姓名???? 公共課學分數?? 專業課學分數
    2001?????? 李四?????????? 5?????????????????????? 3

    用下面語句
    select?? 學號,姓名,sum(學分數)?? as?? 公共課學分數?? from?? A1?? where?? 課程類型='公共課'?? group?? by?? 學號
    left?? join?? .......
    后面怎么寫呢,請指教.要不要建個臨時表. 20 回復次數:6

    第1個回答


    SQL code

    --------------------------------------------------------------------------------/*

    普通行列轉換

    (愛新覺羅.毓華 2007-11-18于海南三亞)

    假設有張學生成績表(tb)如下:

    Name Subject Result

    張三 語文  74

    張三 數學  83

    張三 物理  93

    李四 語文  74

    李四 數學  84

    李四 物理  94

    */

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

    /*

    想變成

    姓名???????? 語文??????? 數學??????? 物理?????????

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

    李四???????? 74????????? 84????????? 94

    張三???????? 74????????? 83????????? 93

    */

    create table tb

    (

    ?? Name??? varchar(10) ,

    ?? Subject varchar(10) ,

    ?? Result int

    )

    insert into tb(Name , Subject , Result) values('張三' , '語文' , 74)

    insert into tb(Name , Subject , Result) values('張三' , '數學' , 83)

    insert into tb(Name , Subject , Result) values('張三' , '物理' , 93)

    insert into tb(Name , Subject , Result) values('李四' , '語文' , 74)

    insert into tb(Name , Subject , Result) values('李四' , '數學' , 84)

    insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)

    go

    --靜態SQL,指subject只有語文、數學、物理這三門課程。

    select name 姓名,

    max(case subject when '語文' then result else 0 end) 語文,

    max(case subject when '數學' then result else 0 end) 數學,

    max(case subject when '物理' then result else 0 end) 物理

    from tb

    group by name

    /*

    姓名???????? 語文??????? 數學??????? 物理?????????

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

    李四???????? 74????????? 84????????? 94

    張三???????? 74????????? 83????????? 93

    */

    --動態SQL,指subject不止語文、數學、物理這三門課程。

    declare @sql varchar(8000)

    set @sql = 'select Name as ' + '姓名'

    select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']'

    from (select distinct Subject from tb) as a

    set @sql = @sql + ' from tb group by name'

    exec(@sql)

    /*

    姓名???????? 數學??????? 物理??????? 語文?????????

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

    李四???????? 84????????? 94????????? 74

    張三???????? 83????????? 93????????? 74

    */

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

    /*加個平均分,總分

    姓名???????? 語文??????? 數學??????? 物理??????? 平均分??????????????? 總分?????????

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

    李四???????? 74????????? 84????????? 94????????? 84.00??????????????? 252

    張三???????? 74????????? 83????????? 93????????? 83.33??????????????? 250

    */

    --靜態SQL,指subject只有語文、數學、物理這三門課程。

    select name 姓名,

    max(case subject when '語文' then result else 0 end) 語文,

    max(case subject when '數學' then result else 0 end) 數學,

    max(case subject when '物理' then result else 0 end) 物理,

    cast(avg(result*1.0) as decimal(18,2)) 平均分,

    sum(result) 總分

    from tb

    group by name

    /*

    姓名???????? 語文??????? 數學??????? 物理??????? 平均分??????????????? 總分?????????

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

    李四???????? 74????????? 84????????? 94????????? 84.00??????????????? 252

    張三???????? 74????????? 83????????? 93????????? 83.33??????????????? 250

    */

    --動態SQL,指subject不止語文、數學、物理這三門課程。

    declare @sql1 varchar(8000)

    set @sql1 = 'select Name as ' + '姓名'

    select @sql1 = @sql1 + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']'

    from (select distinct Subject from tb) as a

    set @sql1 = @sql1 + ' , cast(avg(result*1.0) as decimal(18,2)) 平均分,sum(result) 總分 from tb group by name'

    exec(@sql1)

    /*

    姓名???????? 數學??????? 物理??????? 語文??????? 平均分??????????????? 總分?????????

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

    李四???????? 84????????? 94????????? 74????????? 84.00??????????????? 252

    張三???????? 83????????? 93????????? 74????????? 83.33??????????????? 250

    */

    drop table tb???

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

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

    /*

    如果上述兩表互相換一下:即

    姓名 語文 數學 物理

    張三 74  83  93

    李四 74  84  94

    想變成

    Name?????? Subject Result?????

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

    李四???????? 語文????? 74

    李四???????? 數學????? 84

    李四???????? 物理????? 94

    張三???????? 語文????? 74

    張三???????? 數學????? 83

    張三???????? 物理????? 93

    */

    create table tb1

    (

    ?? 姓名 varchar(10) ,

    ?? 語文 int ,

    ?? 數學 int ,

    ?? 物理 int

    )

    insert into tb1(姓名 , 語文 , 數學 , 物理) values('張三',74,83,93)

    insert into tb1(姓名 , 語文 , 數學 , 物理) values('李四',74,84,94)

    select * from

    (

    select 姓名 as Name , Subject = '語文' , Result = 語文 from tb1

    union all

    select 姓名 as Name , Subject = '數學' , Result = 數學 from tb1

    union all

    select 姓名 as Name , Subject = '物理' , Result = 物理 from tb1

    ) t

    order by name , case Subject when '語文' then 1 when '數學' then 2 when '物理' then 3 when '總分' then 4 end

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

    /*加個平均分,總分

    Name?????? Subject???? Result??????????????

    ---------- -------??? --------------------

    李四???????? 語文????? 74.00

    李四???????? 數學????? 84.00

    李四???????? 物理????? 94.00

    李四???????? 平均分??? 84.00

    李四???????? 總分????? 252.00

    張三???????? 語文????? 74.00

    張三???????? 數學????? 83.00

    張三???????? 物理????? 93.00

    張三???????? 平均分??? 83.33

    張三???????? 總分????? 250.00

    */

    select * from

    (

    select 姓名 as Name , Subject = '語文' , Result = 語文 from tb1

    union all

    select 姓名 as Name , Subject = '數學' , Result = 數學 from tb1

    union all

    select 姓名 as Name , Subject = '物理' , Result = 物理 from tb1

    union all

    select 姓名 as Name , Subject = '平均分' , Result = cast((語文 + 數學 + 物理)*1.0/3 as decimal(18,2)) from tb1

    union all

    select 姓名 as Name , Subject = '總分'
    , Result = 語文 + 數學 + 物理 from tb1 ) t order by name , case Subject when '語文' then 1 when '數學' then 2 when '物理' then 3 when '平均分' then 4 when '總分' then 5 end drop table tb1


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

    第2個回答
    有如下表a1??

    學號?????????? 姓名?????? 課程類型?????? 學分數??
    2001?????? 李四?????????? 公共課?????????????????? 2??
    2001?????? 李四?????????? 專業課?????????????????? 1??
    2001?????? 李四?????????? 公共課?????????????????? 3??
    2001?????? 李四?????????? 專業課?????????????????? 2??

    通過查詢器查詢成??
    學號?????????????????? 姓名?????????? 公共課學分數?????? 專業課學分數??
    2001?????????????? 李四?????????????????????? 5?????????????????????????????????????????????? 3??

    用下面語句??
    select?????? 學號,姓名,sum(學分數)?????? as?????? 公共課學分數?????? from?????? A1?????? where?????? 課程類型='公共課'?????? group?????? by?????? 學號??
    left?????? join?????? .......??
    后面怎么寫呢,請指教.要不要建個臨時表.??


    SQL code

    --------------------------------------------------------------------------------select 學號,姓名,

    sum(case 課程類型 when '公共課' then 學分數 else 0 end) 公共課學分數,

    sum(case 課程類型 when '專業課' then 學分數 else 0 end) 專業課學分數

    from tb

    group by 學號,姓名

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

    第3個回答


    SQL code

    ----------------------------------------------------------------------------------靜態SQL,指課程類型只有公共課,專業課

    select 學號,姓名,

    sum(case 課程類型 when '公共課' then 學分數 else 0 end) 公共課學分數,

    sum(case 課程類型 when '專業課' then 學分數 else 0 end) 專業課學分數

    from tb

    group by 學號,姓名

    --靜態SQL,指課程類型不止公共課,專業課

    declare @sql varchar(8000)

    set @sql = 'select 學號,姓名'

    select @sql = @sql1 + ' , sum(case 課程類型 when ''' + 課程類型 + ''' then 學分數 else 0 end) [' + 課程類型 + '學分數]'

    from (select distinct 課程類型 from tb) as a

    set @sql = @sql + ' from tb group by 學號,姓名'

    exec(@sql)

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

    第4個回答


    SQL code

    --------------------------------------------------------------------------------create table tb(學號 int,姓名 varchar(10),課程類型 varchar(10),學分數 int)

    insert tb select 2001,'李四','公共課',2

    union all select 2001,'李四','專業課',1

    union all select 2001,'李四','公共課',3

    union all select 2001,'李四','專業課',2

    select 學號,姓名,

    ?????? 公共課=sum(case 課程類型 when '公共課' then 學分數 else 0 end),

    ?????? 專業課=sum(case 課程類型 when '專業課' then 學分數 else 0 end)

    from tb

    group by 學號,姓名

    --動態SQL

    declare @sql varchar(4000)

    select @sql='select 學號,姓名'

    select @sql=@sql+',['+課程類型+']=sum(case 課程類型 when '''+課程類型+''' then 學分數 else 0 end)'

    from tb group by 課程類型

    exec(@sql+N' from tb group by 學號,姓名')

    drop table tb

    /*

    學號????????? 姓名???????? 公共課???????? 專業課????????

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

    2001??????? 李四???????? 5?????????? 3

    */

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

    第5個回答
    select???? 學號,姓名,
    sum(decode(課程類型,'公共課',?? 學分數,?? 0)?? 公共課學分數,
    sum(decode(課程類型,?? '專業課',學分數,?? 0)?? 專業課學分數
    from?? tb
    group?? by?? 學號,姓名

    posted @ 2008-04-08 21:49 jadmin 閱讀(114) | 評論 (0)編輯 收藏

    // 第一步:創建一個TableViewer對象。
    TableViewer tv = new TableViewer(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

    // 第二步:通過表格內含的Table對象設置布局方式
    Table table = tv.getTable();
    table.setHeaderVisible(true); // 顯示表頭
    table.setLinesVisible(true); // 顯示表格線
    TableLayout layout = new TableLayout(); // 專用于表格的布局
    table.setLayout(layout);

    // 第三步:用TableColumn類創建表格列
    layout.addColumnData(new ColumnWeightData(13));// ID列寬13像素
    new TableColumn(table, SWT.NONE).setText("ID號");
    layout.addColumnData(new ColumnWeightData(40));
    new TableColumn(table, SWT.NONE).setText("姓名");
    layout.addColumnData(new ColumnWeightData(20));
    new TableColumn(table, SWT.NONE).setText("性別");
    layout.addColumnData(new ColumnWeightData(20));
    new TableColumn(table, SWT.NONE).setText("年齡");
    layout.addColumnData(new ColumnWeightData(60));
    new TableColumn(table, SWT.NONE).setText("記錄建立時間");

    // 第四步:設置內容器和標簽器
    tv.setContentProvider(new TableViewerContentProvider());
    tv.setLabelProvider(new TableViewerLabelProvider());

    // 第五步:用TableViewer的setInput方法將數據輸入到表格
    Object data = PeopleFactory.getPeoples();
    tv.setInput(data);

    其中:
    TableViewerContentProvider.java 內容器
    TableViewerLabelProvider.java??? 標簽器
    PeopleFactory.java?????????????? 產生TableViewer的數據源

    從整體上把握以上5點,TableViewer用起來就簡單了

    Tags:java,rcp,jface,swt,ibm,eclipse,ui,gui

    posted @ 2008-03-31 11:53 jadmin 閱讀(575) | 評論 (0)編輯 收藏

    ?????? 近來看了很多程序員的言論……感覺都是滿腹牢騷,一肚子憤懣。我想要說的是,程序員不是神。時下一些程序員所能作的,其實大多數普通人通過一段時間的培訓和學習都可以作。編程工具已越來越容易使用,編程思想越來越成熟,計算機書籍更是琳瑯滿目,開發過程中的規范性也已經越來越重要。作為一個普普通通的程序員,只是幾個通宵的投入,1-2個月囫圇吞棗的學習,又能有什么理由能奢求太多?

      其實當很多人計算著自己一行代碼值幾毛錢的時候,或許他從來沒有踏踏實實去考慮自己的能力和水平究竟如何。坦誠的講,大多數程序員的代碼質量和設計質量充其量只能算入門水平,學什么東西也只是皮毛而已,盡管可能簡歷上寫得是精通……

      這社會是現實的,發展的。十多年前,程序員是個真正的有門檻的行業。因為那時候沒那么多漂亮的開發工具,沒有高級語言的支持,甚至連面向對象的開發思想都還僅僅是萌芽,更不用說什么質量控制體系。那時候要掌握開發技術遠比其他行業的技術困難得多,只有少數精英才能做到,而且還需要有過人的智力、耐心與毅力。要付出很多很多。這些“精英”,自然也能得到社會足夠的尊重。而現在,在前輩的辛苦耕耘下,進入這個行業幾乎已經沒有了門檻。當你懷著對前人獲得的財富、榮譽和使命感走上程序員這條路的時候,可能你根本就不知道等待自己的將是什么……其實,而今在自己公司一小群程序員里“冒充”某某方面專家的時候,很多人卻不知道甚至根本無法想像,在不很久遠的過去,自己或許只能選擇中途放棄。

      雖然不是每個人都這樣,但是我還是要說:有人根本沒毅力,他們只想輕輕松松的賺錢,卻從來不想承擔自己該承擔的責任;有人根本沒創造性,他唯一會作的就是把別人的代碼抓來抄襲一下;有人始終自以為是,代碼能編譯通過和運行了就覺得可以OK完工了;有人的設計和代碼糟糕冗余,可被其他人精簡2-3倍長,性能也可優化數十倍;有人技術視野狹隘,搞C++的就覺得Java是個Sun的新式玩具,搞Java就鄙夷C++為洪水猛獸和怪物;更有人還把用別人發現的漏洞、別人開發的工具去黑黑別人的電腦當做自己已經是牛人和所謂的“黑客”。這些“程序員”真的能算程序員么?如果這也算程序員,我認為他們也只是現在這個時代最平庸的一群程序員而已……

      其實任何行業、任何職業都會面臨這樣或那樣的機遇,總有不知道的困難、煩惱在前面等著你。大家羨慕的只是成功時的鮮花和啤酒,又有幾個人真正去羨慕成功背后的艱辛和苦楚呢?作銷售好,作管理好,作老板好,作XX好……這樣類似的話我聽得都厭煩了。要我說,作自己最好。

      在這社會上,我們或許習慣了用社會的、他人的標準去衡量、去比較,比如什么女朋友好不好、老婆好不好、工作好不好、老板好不好之類的。誠然,人不能脫離現實、脫離社會,人需要生存。但今天社會給我們所提供的機會,已經比我們的父輩開闊了許多許多。我不認為一個有才能、肯吃苦的人會失去謀生的機會,或者說會生存得比我們的父輩還要艱辛,我們還有什么可抱怨的?也許我們沒有搭上某趟快速致富的列車,也許我們看到其他搭上列車的人的成功心理難以平衡,但是不是說我們就因此無法自信的在朋友面前抬起頭,無法博得一份屬于自己的愛情,無法獲得其他人的尊重,無法去作一份有意義的工作,無法享受一份美好的生活呢?

      其實,沒人能剝奪別人的快樂,沒人能總結出一條適用于所有人的所謂“成功”標準,沒人能魚和熊掌兼得。有些人茫然的來,如同另外一些人茫然的走,沒有帶來什么,更沒有留下什么,這就是而今大多數浮躁的程序員的道路。或許,我們的國家現在還沒有美國那樣重視知識、重視科學、重視創新,然而除非你自己拒絕所有的機會,不然社會也同樣不會讓有開發知識、有創新能力的人都被逼得當街賣燒烤。

      不懂得珍惜現在的人,永遠不可能把握未來……沒有好的心態,就已經先失敗了一半。作什么其實不重要,然而智慧的人知道怎么踏踏實實的去走腳下的路,平庸的人卻只知道羨慕和抱怨,從來不留意腳下的路。

      最后用一句話來總結:程序員不是神,心態決定一切,成功在你腳下。

    posted @ 2008-03-28 19:01 jadmin 閱讀(85) | 評論 (0)編輯 收藏
    Carlos Perez(著名的Java技術人員)最近發表了他認為值得在2008學習五種的JAVA技術,它們是:

    OSGi(基于Java的動態模型規范)
    注:OSGi(Open Service Gateway Initiative)指OSGi Alliance組織制定的一個基于Java語言的服務(業務)規范——OSGi服務平臺(Service Platform)。 該規范和核心部分是一個框架 ,其中定義了應用程序的生命周期模式和服務注冊。這個框架實現了一個優雅、完整和動態的組件模型。應用程序(稱為bundle)無需重新引導可以被遠程安裝、啟動、升級和卸載(其中Java包/類的管理被詳細定義)。API中還定義了運行遠程下載管理政策的生命周期管理。服務注冊允許bundles去檢測新服務和取消的服務,然后相應配合。

    Java內容倉庫,最早于2002年2月由JCP發布
    注:JCP(Java Community Process) 是一個開放的國際組織,主要由Java開發者以及被授權者組成,職能是發展和更新Java技術規范、參考實現(RI)、技術兼容包(TCK)。JCP維護的規范包括J2ME、J2SE、J2EE,XML,OSS,JAIN等。組織成員可以提交JCR(Java SpECification RequESts),通過特定程序以后,進入到下一版本的規范里面。

    Google Web Toolkit(最早發布于2006年5月)
    注:GWT(Google Web Toolkit) 是 Google 推出的一個開發 Ajax 應用的框架,它支持用 Java 開發和調試 Ajax 應用。

    Groovy(最早發布于2004年5月)
    注:Groovy是一種面向對象的程序設計語言,作為Java程序設計語言的一種可選替代品,并增加了Python,Ruby和Smalltalk中的一些特性。

    云霧計算(用于虛擬服務器的設計理念,或無需EJB的分布式計算)
    注:“云霧計算”的英文即Cloud Computing。自谷歌發展起來之后,極大規模的服務器集中在一起,統一管理,形成了“云霧計算”(“Cloud Computing”)的物質基礎。“云霧計算”是社會計算能力的大集中,也是所謂“SaaS”的客觀基礎。

    有趣的是,其中有幾種技術已經成熟,或者說是過時,并且正在其被推薦應用的項目中有成熟的應用。當然,這五種技術都很有價值。OSGi是Eclipse的建模系統,Goovry因其正式的規范說明和頻繁的改進版發布贏得支持。GWT也算是成熟穩定,云霧計算正在受到更為廣泛市場的接受。

    JRC和云霧計算是最近才被廣泛接受的技術,但是廠商正在利用競爭和商業關系獵取支持來發布相關的產品(比如GridGain,Gigaspaces,和Terracotta),而有的廠商還正在對此進行策劃(TSS計劃在TSSJS2008發布JCR相關的聲明)。
    posted @ 2008-02-12 16:30 jadmin 閱讀(65) | 評論 (0)編輯 收藏

    一些基本的命令往往可以在保護網絡安全上起到很大的作用,下面幾條命令的作用就非常突出。

    一、檢測網絡連接
    如果你懷疑自己的計算機上被別人安裝了木馬,或者是中了病毒,但是手里沒有完善的工具來檢測是不是真有這樣的事情發生,那可以使用Windows自帶的網絡命令來看看誰在連接你的計算機。
    具 體的命令格式是:netstat -an這個命令能看到所有和本地計算機建立連接的IP,它包含四個部分——proto(連接方式)、local address(本地連接地址)、foreign address(和本地建立連接的地址)、state(當前端口狀態)。通過這個命令的詳細信息,我們就可以完全監控計算機上的連接,從而達到控制計算機 的目的。


    二、禁用不明服務
    很多朋友在某天系統重新啟動后會發現計算機速度變慢了,不管怎么優化都慢,用殺毒軟件也查不出問題,這個時候很 可能是別人通過入侵你的計算機后給你開放了特別的某種服務,比如IIS信息服務等,這樣你的殺毒軟件是查不出來的。但是別急,可以通過“net start”來查看系統中究竟有什么服務在開啟,如果發現了不是自己開放的服務,我們就可以有針對性地禁用這個服務了。
    方法就是直接輸入“net start”來查看服務,再用“net stop server”來禁止服務。


    三、輕松檢查賬戶
    很 長一段時間,惡意的攻擊者非常喜歡使用克隆賬號的方法來控制你的計算機。他們采用的方法就是激活一個系統中的默認賬戶,但這個賬戶是不經常用的,然后使用 工具把這個賬戶提升到管理員權限,從表面上看來這個賬戶還是和原來一樣,但是這個克隆的賬戶卻是系統中最大的安全隱患。惡意的攻擊者可以通過這個賬戶任意 地控制你的計算機。
    為了避免這種情況,可以用很簡單的方法對賬戶進行檢測。
    首先在命令行下輸入net user,查看計算機上有些什么用戶,然后再使用“net user+用戶名”查看這個用戶是屬于什么權限的,一般除了Administrator是administrators組的,其他都不是!如果你發現一個 系統內置的用戶是屬于administrators組的,那幾乎肯定你被入侵了,而且別人在你的計算機上克隆了賬戶。快使用“net user用戶名/del”來刪掉這個用戶吧!
    聯網狀態下的客戶端。對于沒有聯網的客戶端,當其聯網之后也會在第一時間內收到更新信息將病毒特征庫更新到最新版本。不僅省去了用戶去手動更新的煩瑣過程,也使用戶的計算機時刻處于最佳的保護環境之下。

    posted @ 2008-01-19 19:48 jadmin 閱讀(78) | 評論 (0)編輯 收藏
    1.avi格式代碼片斷如下:

    <object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
    <param name="ShowDisplay" value="0">
    <param name="ShowControls" value="1">
    <param name="AutoStart" value="1">
    <param name="AutoRewind" value="0">
    <param name="PlayCount" value="0">
    <param name="Appearance value="0 value=""">
    <param name="BorderStyle value="0 value=""">
    <param name="MovieWindowHeight" value="240">
    <param name="MovieWindowWidth" value="320">
    <param name="FileName" value="/Mbar.avi">
    <embed width="400" height="200" border="0" showdisplay="0" showcontrols="1" autostart="1" autorewind="0" playcount="0" moviewindowheight="240" moviewindowwidth="320" filename="/Mbar.avi" src="Mbar.avi">
    </embed>
    </object>


    2.mpg格式代碼片斷如下:

    <object classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A" id="ActiveMovie1" width="239" height="250">
    <param name="Appearance" value="0">
    <param name="AutoStart" value="-1">
    <param name="AllowChangeDisplayMode" value="-1">
    <param name="AllowHideDisplay" value="0">
    <param name="AllowHideControls" value="-1">
    <param name="AutoRewind" value="-1">
    <param name="Balance" value="0">
    <param name="CurrentPosition" value="0">
    <param name="DisplayBackColor" value="0">
    <param name="DisplayForeColor" value="16777215">
    <param name="DisplayMode" value="0">
    <param name="Enabled" value="-1">
    <param name="EnableContextMenu" value="-1">
    <param name="EnablePositionControls" value="-1">
    <param name="EnableSelectionControls" value="0">
    <param name="EnableTracker" value="-1">
    <param name="Filename" value="/mpeg/halali.mpg" valuetype="ref">
    <param name="FullScreenMode" value="0">
    <param name="MovieWindowSize" value="0">
    <param name="PlayCount" value="1">
    <param name="Rate" value="1">
    <param name="SelectionStart" value="-1">
    <param name="SelectionEnd" value="-1">
    <param name="ShowControls" value="-1">
    <param name="ShowDisplay" value="-1">
    <param name="ShowPositionControls" value="0">
    <param name="ShowTracker" value="-1">
    <param name="Volume" value="-480">
    </object>


    3.smi格式代碼片斷如下:

    <OBJECT id=RVOCX classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA width=240 height=180>
    <param name="_ExtentX" value="6350">
    <param name="_ExtentY" value="4763">
    <param name="AUTOSTART" value="-1">
    <param name="SHUFFLE" value="0">
    <param name="PREFETCH" value="0">
    <param name="NOLABELS" value="-1">
    <param name="SRC" value="rm.rm">
    <param name="CONTROLS" value="ImageWindow">
    <param name="CONSOLE" value="console1">
    <param name="LOOP" value="0">
    <param name="NUMLOOP" value="0">
    <param name="CENTER" value="0">
    <param name="MAINTAINASPECT" value="0">
    <param name="BACKGROUNDCOLOR" value="#000000"><embed src="real.smi" type="audio/x-pn-realaudio-plugin" console="Console1" controls="ImageWindow" height="180" width="240" autostart="true"></OBJECT>



    4.rm格式代碼片斷如下:

    <OBJECT ID=video1 CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" HEIGHT=288 WIDTH=352>
    <param name="_ExtentX" value="9313">
    <param name="_ExtentY" value="7620">
    <param name="AUTOSTART" value="0">
    <param name="SHUFFLE" value="0">
    <param name="PREFETCH" value="0">
    <param name="NOLABELS" value="0">
    <param name="SRC" value="rtsp://203.*.*.35/vod/dawan-a.rm">
    <param name="CONTROLS" value="ImageWindow">
    <param name="CONSOLE" value="Clip1">
    <param name="LOOP" value="0">
    <param name="NUMLOOP" value="0">
    <param name="CENTER" value="0">
    <param name="MAINTAINASPECT" value="0">
    <param name="BACKGROUNDCOLOR" value="#000000"><embed SRC type="audio/x-pn-realaudio-plugin" CONSOLE="Clip1" CONTROLS="ImageWindow" HEIGHT="288" WIDTH="352" AUTOSTART="false">
    </OBJECT>



    5.wmv格式代碼片斷如下:

    <object id="NSPlay" width=200 height=180 classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject" align="right" hspace="5">
    <param name="AutoRewind" value=1>
    <param name="FileName" value="http://192.168.1.71/verypower/shichang.wmv">
    <param name="ShowControls" value="1">
    <param name="ShowPositionControls" value="0">
    <param name="ShowAudioControls" value="1">
    <param name="ShowTracker" value="0">
    <param name="ShowDisplay" value="0">
    <param name="ShowStatusBar" value="0">
    <param name="ShowGotoBar" value="0">
    <param name="ShowCaptioning" value="0">
    <param name="AutoStart" value=1>
    <param name="Volume" value="-2500">
    <param name="AnimationAtStart" value="0">
    <param name="TransparentAtStart" value="0">
    <param name="AllowChangeDisplaySize" value="0">
    <param name="AllowScan" value="0">
    <param name="EnableContextMenu" value="0">
    <param name="ClickToPlay" value="0">
    </object>



    6.wma格式 放在 里面。下面是部分解釋:

    <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" >
    <param name="Filename" value="/blog/1.Wma"> <!--你文件的位置-->
    <param name="PlayCount" value="1"><!--控制重復次數: “x”為幾重復播放幾次; x=0,無限循環。-->
    <param name="AutoStart" value="0"><!--控制播放方式: x=1,打開網頁自動播放; x=0,按播放鍵播放。-->
    <param name="ClickToPlay" value="1"><!--控制播放開關: x=1,可鼠標點擊控制播放或暫停狀態; x=0,禁用此功能。-->
    <param name="DisplaySize" value="0"><!--控制播放畫面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。-->
    <param name="EnableFullScreen Controls" value="1"><!--控制切換全屏: x=1,允許切換為全屏; x=0,禁用此功能。-->
    <param name="ShowAudio Controls" value="1"><!--控制音量: x=1,允許調節音量; x=0,禁止音量調節。-->
    <param name="EnableContext Menu" value="1"><!--控制快捷菜單: x=1,允許使用右鍵菜單; x=0,禁用右鍵菜單。-->
    <param name="ShowDisplay" value="1"><!--控制版權信息: x=1,顯示電影及作者信息;x=0,不顯示相關信息-->
    </object>



    7.Windows Media Player 系列(不同面板樣式)綜合型:

    <object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,1,5,217"id=MediaPlayer type=application/x-oleobject width=210 height=340 standby="Loading Microsoft Windows Media Player components..." VIEWASTEXT align=MIDDLE>
    <param name=AudioStream value=-1>
    <param name=AutoSize value=0>
    <param name=AutoStart value=1>
    <param name=AnimationAtStart value=0>
    <param name=AllowScan value=-1>
    <param name=AllowChangeDisplaySize value=0>
    <param name=AutoRewind value=0>
    <param name=Balance value=0>
    <param name=BaseURL value="">
    <param name=BufferingTime value=5>
    <param name=CaptioningID value="">
    <param name=ClickToPlay value=0>
    <param name=CursorType value=32512>
    <param name=CurrentPosition value=-1>
    <param name=CurrentMarker value=0>
    <param name=DefaultFrame value=1>
    <param name=DisplayBackColor value=0>
    <param name=DisplayForeColor value=16777215>
    <param name=DisplayMode value=0>
    <param name=DisplaySize value=0>
    <param name=Enabled value=-1>
    <param name=EnableContextMenu value=-1>
    <param name=EnablePositionControls value=0>
    <param name=EnableFullScreenControls value=0>
    <param name=EnableTracker value=1>
    <param name=Filename value="http://flash.jninfo.net/swf/y1271.swf">
    <param name=InvokeURLs value=-1>
    <param name=Language value=-1>
    <param name=Mute value=0>
    <param name=PlayCount value=1>
    <param name=PreviewMode value=0>
    <param name=Rate value=1>
    <param name=SAMILang value="">
    <param name=SAMIStyle value="">
    <param name=SAMIFileName value="">
    <param name=SelectionStart value=0>
    <param name=SelectionEnd value=true>
    <param name=SendOpenStateChangeEvents value=-1>
    <param name=SendWarningEvents value=-1>
    <param name=SendErrorEvents value=-1>
    <param name=SendKeyboardEvents value=0>
    <param name=SendMouseClickEvents value=0>
    <param name=SendMouseMoveEvents value=0>
    <param name=SendPlayStateChangeEvents value=-1>
    <param name=ShowCaptioning value=0>
    <param name=ShowControls value=1>
    <param name=ShowAudioControls value=1>
    <param name=ShowDisplay value=1>
    <param name=ShowGotoBar value=1>
    <param name=ShowPositionControls value=1>
    <param name=ShowStatusBar value=1>
    <param name=ShowTracker value=1>
    <param name=TransparentAtStart value=0>
    <param name=VideoBorderWidth value=0>
    <param name=VideoBorderColor value=0>
    <param name=VideoBorder3D value=0>
    <param name=Volume value=-1070>
    <param name=WindowlessVideo value=1>
    </object>



    8 FLASH系列

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="266" height="240">
    <param name="movie" value="http://user.net163.com/zjqz/mtv/fskl.swf">
    <param name="quality" value="high">
    <embed src="http://flash.jninfo.net/swf/y1271.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="266" height="240"></embed></object>



    簡易型:

    <EMBED src=http://vod.alibaba.com/50/06/71/71/50067171_56.asf style="HEIGHT: 45px; WIDTH: 190px" type=audio/mpeg AUTOSTART="1" loop="0">
    </EMBED>



    標簽型:

    <embed width=240 height=140 transparentatstart=true animationatstart=false autostart=true autosize=false volume=100 displaysize=0 showdisplay=true showstatusbar=true showcontrols=true showaudiocontrols=true showtracker=true showpositioncontrols=true balance=true src="http://vod.alibaba.com/50/06/71/71/50067171_56.asf">
    </embed>



    引用內容:媒體播放器的外觀界面
    在網頁中,你可以通過相關屬性來控制媒體播放器的哪些部分出現,哪些部分不出現。
    媒體播放器包括如下元素:
    Video Display Panel:視頻顯示面板;
    Video Border:視頻邊框;
    Closed Captioning Display Panel;字幕顯示面板;
    Track Bar;搜索欄;
    Control Bar with Audio and Position Controls:帶有聲音和位置控制的控制欄;
    Go To Bar:轉到欄;
    Display Panel:顯示面板;
    Status Bar:狀態欄;
    下面的屬性用來決定顯示哪一個元素:
    ShowControls 屬性:是否顯示控制欄(包括播放控件及可選的聲音和位置控件);
    ShowAudioControls 屬性:是否在控制欄顯示聲音控件(靜音按鈕和音量滑塊);
    ShowPositionControls 屬性:是否在控制欄顯示位置控件(包括向后跳進、快退、快進、向前跳進、預覽播放列表中的每個剪輯);
    ShowTracker 屬性:是否顯示搜索欄;
    ShowDisplay 屬性:是否顯示顯示面板(用來提供節目與剪輯的信息);
    ShowCaptioning 屬性:是否顯示字幕顯示面板;
    ShowGotoBar 屬性:是否顯示轉到欄;
    ShowStatusBar 屬性:是否顯示狀態欄;


    □播放列表
    媒體播放器提供下面的方法來訪問播放列表中的剪輯:
    Next 方法,跳到節目(播放列表)中的下一個剪輯;
    Previous 方法,跳回到節目中的上一個剪輯;
    媒體播放器的一個特性是能夠預覽節目中的每一個剪輯,使用如下屬性:
    PreviewMode 屬性,決定媒體播放器當前是否處于預覽模式;
    CanPreview 屬性,決定媒體播放器能否處于預覽模式;
    在windows 媒體元文件中,可以為每一個剪輯指定預覽時間——PREVIEWDURATION,如果沒有指定,那么默認的預覽時間是10秒鐘。
    你也可以用Windows 媒體元文件來添加 watermarks 與 banners,元文件也支持插入廣告時的無間隙流切換。



    □節目信息
    使用 GetMediaInfoString 方法可以返回相關剪輯或節目的如下信息:
    文件名:File name
    標題:Title
    描述:Description
    作者:Author
    版權:Copyright
    級別:Rating
    URLs:logo icon、watermark、banner的地址
    剪輯信息可以放在媒體文件中,也可以放在Windows 媒體元文件中,或者兩者都放。如果在元文件中指定了剪輯信息,那么用 GetMediaInfoString 方法返回的就是元文件中的信息,而不會返回剪輯中包含的信息。
    在元文件中,附加信息可以放置在每一個剪輯或節目的 PARAM標簽中。你可以為每個剪輯添加任意多個 PARAM 標簽,用來存儲自定義的信息或鏈接到相關站點。在 PARAM 標簽中的信息可以通過 GetMediaParameter 方法來訪問。
    下面的屬性返回有關大小和時間的信息:
    ImageSourceHeight、ImageSourceWidth:返回圖像窗口的顯示尺寸;
    Duration 屬性,返回剪輯的長度(秒), 要檢測這個屬性是否包含有效的數值,請檢查IsDurationValid 屬性。(對于廣播的視頻,其長度是不可預知的)。



    □字幕
    你可以用 .smi 文件來為你的節目添加字幕。媒體播放器支持下面的屬性來處理字幕:
    SAMIFileName 屬性,指定 .smi 文件的名字;
    SAMILang 屬性,指定字幕的語言(如果沒有指定則使用第一種語言);
    SAMIStyle 屬性,指定字幕的文字大小和樣式;
    ShowCaptioning 屬性,決定是否顯示字幕顯示面板;



    □腳本命令
    伴隨音頻、視頻流,你可以在流媒體文件中加入腳本命令。腳本命令是多媒體流中與特定時間同步的多對Unicode串。第一個串標識待發命令的類型,第二個串指定要執行的命令。
    當流播放到與腳本相關的時間時,控件會向網頁發送一個 ScriptCommand事件,然后由事件處理進程來響應這個事件。腳本命令字符串會作為腳本命令事件的參數傳遞給事件處理器。
    媒體播放器會自動處理下面類型的內嵌腳本命令:
    1)URL型命令:當媒體播放器控件收到一個URL型的命令時,指定的URL會被裝載到用戶的默認瀏覽器。如果媒體播放器嵌在一個分幀的HTML文件中,URL頁可以裝載到由腳本命令指定的幀內。如果腳本命令沒有指定一個幀,將由 DefaultFrame 屬性決定將 URL 頁裝入哪一幀。
    你可以通過設置 InvokeURLs 屬性來決定是否自動處理 URL 型的腳本命令。如果這個屬性的值為 false ,媒體播放器控件將忽視 URL型命令。但是腳本命令事件仍會觸發,這就允許你有選擇地處理 URL 型命令。
    URL 型命令指定的是 URL 的相對地址。基地址是由 BaseURL屬性指定的。媒體播放器控件傳送的腳本命令事件的命令參數是鏈接好的地址。
    2)FILENAME型命令:當媒體播放器控件收到一個FILENAME型的命令時,它將 FileName屬性設置為腳本命令提供的文件,之后媒體播放器會打開這個文件開始播放。 媒體播放器控件總是自動處理 FILENAME 型命令,不象 URL 型命令,它們不能被禁止。
    3)TEXT型命令:當媒體播放器控件收到一個 TEXT型的命令時,它會將命令的內容顯示在控件的字幕窗口。內容可以是純文本的,也可以是 HTML。
    4)EVENT型命令:當媒體播放器控件收到一個 EVENT型的命令時,它會在媒體元文件中搜索 EVENT 元素的 NAME 屬性。如果 NAME 屬性與腳本命令中的第二個字符串匹配,媒體播放器控件就執行包含在 EVENT 元素中的條目。
    5)OPENEVENT型命令:當媒體播放器控件收到一個 OPENEVENT型的命令時,它會在媒體元文件中檢查 EVENT 元素,并打開匹配的標題,但不播放,直到收到來自 EVENT型命令的同名真實事件。

    □捕捉鍵盤和鼠標事件
    EnableContextMenu 與 ClickToPlay 屬性為用戶提供了在圖像窗口進行操作的方法。
    如果 EnableContextMenu 屬性為 true ,在圖像窗口右擊鼠標可以打開關聯菜單,如果將ClickToPlay 屬性設為 true ,用戶可以單擊圖像窗口進行播放與暫停的切換。
    要接收鼠標移動和單擊事件,請將 SendMouseMoveEvents 和 SendMouseClickEvents 屬性設為 true 。鼠標事件有:
    MouseDown,當用戶按下鼠標時產生;
    MouseUp,當用戶釋放鼠標時產生;
    MouseMove,當用戶移動鼠標時產生;
    Click,當用戶在媒體播放器上單擊鼠標按鈕時產生;
    DbClick,當用戶在媒體播放器上雙擊鼠標按鈕時產生;
    要接收鍵盤事件,請將 SendKeyboardEvents 屬性設為 true 。鍵盤事件有:
    KeyDown,當用戶按下一個鍵時產生;
    KeyUp,當用戶釋放一個鍵時產生;
    KeyPress,當用戶按下并釋放一個鍵時產生;



    □監測流狀態與網絡鏈接
    流狀態屬性包括:
    PlayState:播放狀態;
    OpenState:打開狀態;
    Bandwidth:帶寬;
    支持的事件有:
    OpenStateChange:打開狀態改變(僅當SendOpenStateChangeEvents屬性為true時觸發)
    PlayStateChange:播放狀態改變(僅當SendPlayStateChangeEvents屬性為true時觸發)
    EndOfStream:流結束時觸發;
    NewStream:打開新流時觸發;
    網絡接收屬性包括:
    ReceptionQuality:接收質量;
    ReceivedPackets:已經收到的包;
    LostPackets:丟失的包;
    監測緩沖的屬性有:
    BufferingTime:緩沖時間;
    BufferingCount:緩沖次數;
    BufferingProgress:緩沖進程;
    Buffering:緩沖事件;



    □錯誤處理
    媒體播放器提供了內建的錯誤處理功能——在對話框或狀態欄顯示錯誤信息。 另外,你可以自己添加錯誤處理程序。如果 SendErrorEvents 屬性設置為 true,將不會顯示錯誤框,而是發送錯誤事件;如果 SendErrorEvents 屬性設置為 false,將顯示錯誤框,而是發送錯誤事件。
    媒體播放器支持下面的錯誤處理事件:
    Error 事件,指有危險性錯誤發生;
    Warning 事件,指發生了非危險性的錯誤;
    當你的應用程序接收到一個錯誤事件,你可以檢測下面的屬性來確定具體的錯誤信息:
    HasError:檢測目前的媒體播放器是否有錯誤;
    ErrorCode:提供與該類型錯誤相關的代碼值;
    ErrorDescription:提供錯誤的描述信息;
    ErrorCorrection:指定媒體播放器對該類型的錯誤進行校正;
    posted @ 2008-01-19 19:41 jadmin 閱讀(77) | 評論 (0)編輯 收藏
    2008年1月16日這天,IT界最大的新聞是SUN 收購了MySQL.

    Sun宣布已經與MySQL AB達成協議,以大約10億美元收購MySQL AB,其中8億美元現金收購MySQL AB的全部股權,另外的2億美元作為期權。MySQL負責開發社區的副總裁 Kaj,在他的blog中分析了這單交易對于MySQL的用戶、核心社區以及公司員工會帶來哪些影響,還發表了他與MySQL的兩位創始人Monty和David關于此事的交談。這次收購使了Sun在IT企業中的地位進一步鞏固,現在甚至包括了150億美元的數據庫市場,Sun不僅是一個領先的網絡平臺和環境的提供商,而且也是最大的開源商業貢獻者。

    SUN公司現已成為當今世界上產品經最為豐富的IT公司之一。軟硬件統吃,從操作系統、到中件間、到數據庫、再到應用軟件。去年跟SUN中國工程院一位博士在聊天,他說SUN公司的產品線唯一就是缺少數據庫。沒想到時隔一年就把這個缺口給補上了。


    現在很多用戶關心的是MYSQL今后會怎么樣?對于這個問題MYSQL的創始人給出了積極的態度:對于用戶來說,MYSQL將會更加美好,MYSQL的開放理念與SUN公司的開放完全相同。MYSQL將會更加強大。
    posted @ 2008-01-19 19:25 jadmin 閱讀(68) | 評論 (0)編輯 收藏

    有些道理總要等到適當的年紀才能明白,人生的哲理總是來得太遲。回想曾經讓我們激動萬分的事情,竟是如此微不足道,為什么當初就不能領悟?冤冤相報 何時了,這個道理誰都明白,可我們為什么還在沉溺于過去的痛苦無法自拔?如果你知道一個人能做的最大的冒險事情,就是樂意在公共場合經常暴露自己的愚昧。 你現在愿意這么做嗎?-psytopic.com

    許多人不遺余力地學習,遺憾的是真知往往來得太遲,以至于我們沒法充分利用它。的確,我現有的知識在我早年的生活中肯定會更實用,這些知識能讓我少走彎路,避免過去那些年受過的痛苦,而這些痛苦,我也讓別人承受過。

    我不相信生活會無故地變得富裕而有情趣,那只是浪漫的妄想。因為我一生都充滿動蕩和不安。失敗不會主動傳授你知識,我通過蕓蕓眾生的無知、膽怯和愚 笨來獲取真知。有了它們,生活會變得輕松,也更成功。因此,我要和大家分享一些姍姍來遲的道理,期待能讓一些人避免重蹈我的覆轍。

    很多事情其實無關緊要

    許多令我激動、擔憂或殫精竭慮的事情,到最后都變得不值一文。只有很少的事情確實關乎我們一生的快樂。我多么希望早點知道這些,以便能把精力都投入到這些關乎幸福的事,而不是其他。

    沉溺于過去的痛苦是最大的痛苦來源

    看那些恐怖組織和軍事武裝集團,往往都是為了陳年舊事,為了索取一小塊土地的歷史所有權,為了修正一項錯誤的歷史決定。這些都成為了他們將殺戮正義化的基礎。

    等待有把握時再去做一件事,往往意味著永遠的等待

    一個人能做的最大的冒險事情,就是樂意在公共場合經常暴露自己的愚昧。沒有什么能比這樣學得更快。“哎呀”, 也是一種樂趣。

    盲目追趕潮流是對精神和智力的扼殺

    你可以成為一個廉價的時尚木偶,也可以成為獨一無二的你,這些都在于自己的選擇。信仰不是群眾的鴉片,流行才是。

    如果有人抱怨你太特立獨行,恭喜你,你正走在正確的路上

    誰愿意像動物一樣活著?那些強有力的家伙們不希望你按照自己的意愿去做,他們希望你停止給他們制造麻煩并聽從他們的命令。但你得知道,你無法做到在卑躬屈膝的同時又能活出自我。

    如果你將工作等同于生活,那么你將為工作而生活

    和很多人一樣,當看到那些藝術家和音樂家的工作幾乎是全部的生活,我感到很困惑。其實那不是工作,那是他們的自我。除非你有無法抵擋的激情,恰巧也 能讓你從中得以謀生,否則請永遠記住,工作只是一種手段,而不是目的,我們的最終目的是享受生活。在實現目的的同時,盡可能地少花時間在手段上。只有傻瓜 才是為工作而生活。

    破壞關系的最快最簡單的方法就是聽信謠言

    浪費你時間的最糟糕方式是傳播這些謠言。傳播流言蜚語的人好比瘟疫的攜帶者,相比之下,蟑螂都比他們干凈、善良。

    試圖取悅別人是徒勞無益的做法

    總有些人會對你發飆。很多你接觸的人,在很多時候也會不喜歡、貶低、輕視或忽略你。另外,你永遠也不知道別人真正的需要,因此你為此所做的所有努力 都會付諸東流。放松些吧,愛你的人終究會包容你的過失,他們才是值得我們在乎的人。其他那些人,他們甚至都不值得花5分鐘去考慮。

    沒有永久的勝利者

    踏上冠軍寶座是件好事情。但不要夢想著可以永久占據這個位置,最糟糕的是,你正決定為達此目的而不擇手段。

    你不可能取悅、平息或改造一個混蛋

    你能做的最好方式,是和他們敬而遠之。變成混蛋也能傳染,你和他們呆的時間越長,你也越有可能染上混蛋的習氣或者你就成為混蛋。

    努力加倍,期望減半

    任何事情都是花掉你計劃的兩倍時間,最后卻只換來你一半的期望結果。沒什么好為此沮喪的,(中國俗話說:事倍功半)讓它去吧,你要繼續前行。

    人是奇怪的偏執狂

    撒謊者總是撒謊,騙子總要行騙。一個人對你傾訴的時候,通常已在其它人的面前傾訴過,只是可能沒有得到想要回應。一位忠誠的朋友,無論遭受多大的冤屈依舊忠誠。

    接納自己

    不管你怎么努力,你都無法逃避成為自己。除了自己,你還能成為誰呢?你可以扮演和假裝,但進行扮演和假裝的人還是你自己。如果你都無法接納自己,沒有努力挖掘自己已有的東西,那么誰有義務接納你呢?

    談到公眾謊言,沒有比預算數字更令人震驚的

    把時間折騰在這上面,是浪費時間。既使(奇跡中的奇跡!) 你是實事求是并且準確的, 其他人也不會那么愚蠢。

    世界上最大的噪音是人們的抱怨

    不要再增加了。



    I don’t buy the romantic notion that my life has been somehow richer or more interesting because of all the times I screwed up; nor that the mistakes were “put” there to help me learn. I made them myself—through ignorance, fear, and a dumb wish to have everyone like me—and life and work would have been less stressful and more enjoyable (and certainly more successful) without them. So here are some of the things I wish I had learned long ago. I hope they may help a few of you avoid the mistakes that I made back then.

    * Most of it doesn’t matter. So much of what I got excited about, anxious about, or wasted my time and energy on, turned out not to matter. There are only a few things that truly count for a happy life. I wish I had known to concentrate on those and ignore the rest.

    * The greatest source of misery and hatred in this world is clinging to past hurts. Look at all the terrorists and militant groups that hark back to some event long gone, or base their justification for killing on claims of some supposed historical right to a bit of land, or redress for a wrong done hundreds of years ago.

    * Waiting to do something until you can be sure of doing it exactly right means waiting for ever. One of the greatest advantages anyone can have is the willingness to make a fool of themselves publicly and often. There’s no better way to learn and develop. Heck, it’s fun too.

    * Following the latest fashion, in work or in life, is spiritual and intellectual suicide. You can be a cheap imitation of the ideal of the moment; or you can be a unique individual. The choice is yours. Religion isn’t the opiate of the masses, fashion is.

    * If people complain that you’re too fond of going your own way and aren’t fitting in, you must be on the right track. Who wants to live life as a herd animal? The guys in power don’t want you to fit in for your own sake; they want you to stop causing them problems and follow their orders. You can’t have the freedom to be yourself and meekly fit in at the same time.

    * If you make your work your life, you’re making your life into hard work. Like most people, I confused myself by looking at people like artists and musicians whose life’s “work” fills their time. That isn’t work. It’s who they are. Unless you have some overwhelming passion that also happens to allow you to earn a living doing it, always remember that work should be a means to an end: living an enjoyable life. Spend as little time on the means as possible consistent with achieving the end. Only idiots live to work.

    * The quickest and simplest way to wreck any relationship is to listen to gossip. The worst way to spend your time is spreading more. People who spread gossip are the plague-carriers of our day. Cockroaches are clean, kindly creatures in comparison.

    * Trying to please other people is largely a futile activity. Everyone will be mad at you sometime. Most of the people you deal with will dislike, disparage, belittle, or ignore what you say or do most of the time. Besides, you can never really know what others do want, so a good deal of whatever you do in that regard will go to waste. Be comforted. Those who love you will probably love you regardless, and they are the ones whose opinions are worth caring about. The rest aren’t worth five minutes of thought between them.

    * Every winner is destined to be a loser in due course. It’s great to be up on the winner’s podium. Just don’t imagine you can stay there for ever. Worst of all is being determined to do so, by any means available.

    * You can rarely, if ever, please, placate, change, or mollify an asshole. The best thing you can do is stay away from every one you encounter. Being an asshole is a contagious disease. The more time you spend around one, the more likely you are to catch it and become one too.

    * Everything takes twice as long as you plan for and produces results about half as good as you hoped. There’s no reason to be downhearted about this. Just allow for it and move on.

    * People are oddly consistent. Liars usually tell lies. Cheaters cheat whenever it suits them. A person who confides in you has usually confided in several others first—but not got the response they wanted. A loyal friend will stay loyal under enormous amounts of thoughtless abuse.

    * However hard you try, you can’t avoid being yourself. Who else could you be? You can act and pretend, but the person acting and pretending is still you. And if you won’t accept yourself—and do the best you can with what you have—who then has any obligation to accept you?

    * When it comes to blatant lies, there are none more egregious than budget figures. Time spent agonizing over them is time wasted. Even if (miracle of miracles!) yours are honest and accurate, no one else will have been so foolish.

    * The loudest noise in the world is the sound of people whining. Don’t add to it.

    posted @ 2007-12-20 10:52 jadmin 閱讀(54) | 評論 (0)編輯 收藏

    如果你想出門,但電腦又正在進行工作,這時就要用到自動關機。大多數實現自動關機的方法都是使用一些第三方軟件,這樣不僅麻煩,而且為實現這個小功 能而專門動用一個軟件,顯的小題大做了!其實Windows XP(Windows 2000也可以)自身就具備定時關機的功能,下面我們就來看看如何實現Windows XP的自動關機。

    ??? Windows XP的關機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中。如果想讓Windows 2000也實現同樣的效果,可以把Shutdown.exe復制到系統目錄下。

    ??? 比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關機,可以輸入 “Shutdown.exe -s -t 3600”,這里表示60分鐘后自動關機,“3600”代表60分鐘。

    ??? 設置好自動關機后,如果想取消的話,可以在運行中輸入“shutdown -a”。另外輸入“shutdown -i”,則可以打開設置自動關機對話框,對自動關機進行設置。

    ??? Shutdown.exe的參數,每個都具有特定的用途,執行每一個都會產生不同的效果,比如“-s”就表示關閉本地計算機,“-a”表示取消關機操作,下面列出了更多參數,大家可以在Shutdown.exe中按需使用。

    -f:強行關閉應用程序

    -m \\計算機名:控制遠程計算機

    -i:顯示圖形用戶界面,但必須是Shutdown的第一個選項

    -l:注銷當前用戶

    -r:關機并重啟

    -t 時間:設置關機倒計時

    -c "消息內容":輸入關機對話框中的消息內容(不能超127個字符)

    posted @ 2007-12-20 10:40 jadmin 閱讀(48) | 評論 (0)編輯 收藏
    最近discuz發布了新的版本,免費了,用的人更多了,以前使用其它論壇程序和discuz2.5/3.0的紛紛轉換或升級到discuz4.0,可見discuz作為中國人開發的php論壇程序,確實是非常優秀的,在大家欣喜若狂的時候,也遇到了一些問題
      
      看到不少用戶反映轉換完以后是亂碼的情況,出現這種現象的主要原因是這類用戶使用的都是mysql4.1以上的版本.下面作一個說明,希望出現這個問題的朋友都能耐心的把這個文檔看完!!!
      
      MySQL 4.1開始,對多語言的支持有了很大變化 (這導致了問題的出現)。盡管大部分的地方 (包括個人使用和主機提供商),MySQL 3、4.0 仍然占主導地位;但 MySQL 4.1 乃至5.0是 MySQL 官方推薦的數據庫,已經有主機提供商開始提供并將會越來越多;因為 latin1 在許多地方 (下邊會詳細描述具體是哪些地方) 作為默認的字符集,成功的蒙蔽了許多 PHP 程序的開發者和用戶,掩蓋了在中文等語言環境下會出現的問題。
      
      MySQL 4.1開始把多國語言字符集分的更加詳細,所以導致數據庫遷移,或則dz論壇升級到4.0后(dz4.0開始使用gbk或utf-8編碼)出現亂碼問題。
      
      MySQL 4.1的字符集支持(Character Set Support)有兩個方面:字符集(Character set)和排序方式(Collation)。對于字符集的支持細化到四個層次: 服務器(server),數據庫(database),數據表(table)和連接(connection)。
      
      查看系統的字符集和排序方式的設定可以通過下面的兩條命令:
      
    QUOTE:
    mysql> SHOW VARIABLES LIKE 'character_set_%';
      +--------------------------+----------------------------+
      | Variable_name | Value |
      +--------------------------+----------------------------+
      | character_set_client | latin1 |
      | character_set_connection | latin1 |
      | character_set_database | latin1 |
      | character_set_results | latin1 |
      | character_set_server | latin1 |
      | character_set_system | utf8 |
      | character_sets_dir | /usr/share/mysql/charsets/ |
      +--------------------------+----------------------------+
      7 rows in set (0.00 sec)
      
      mysql> SHOW VARIABLES LIKE 'collation_%';
      +----------------------+-------------------+
      | Variable_name | Value |
      +----------------------+-------------------+
      | collation_connection | latin1_swedish_ci |
      | collation_database | latin1_swedish_ci |
      | collation_server | latin1_swedish_ci |
      +----------------------+-------------------+
      3 rows in set (0.00 sec)

      MySQL 4.1 對于字符集的指定可以細化到一臺機器上安裝的 MySQL,其中的一個數據庫,其中的一張表,其中的一欄,應該用什么字符集。但是,傳統的 Web 程序在創建數據庫和數據表時并沒有使用那么復雜的配置,它們用的是默認的配置,那么,默認的配置從何而來呢?
      
      編譯 MySQL 時,指定了一個默認的字符集,這個字符集是 latin1;
      安裝 MySQL 時,可以在配置文件 (my.ini) 中指定一個默認的的字符集,如果沒指定,這個值繼承自編譯時指定的;
      啟動 mysqld 時,可以在命令行參數中指定一個默認的的字符集,如果沒指定,這個值繼承自配置文件中的;
      此時 character_set_server 被設定為這個默認的字符集;
      當創建一個新的數據庫時,除非明確指定,這個數據庫的字符集被缺省設定為 character_set_server;
      當選定了一個數據庫時,character_set_database 被設定為這個數據庫默認的字符集;
      在這個數據庫里創建一張表時,表默認的字符集被設定為 character_set_database,也就是這個數據庫默認的字符集;
      當在表內設置一欄時,除非明確指定,否則此欄缺省的字符集就是表默認的字符集;
      這個字符集就是數據庫中實際存儲數據采用的字符集,mysqldump 出來的內容就是這個字符集下的;
      當我們按照原來的方式通過PHP存取MySQL數據庫時,就算設置了表的默認字符集為utf8并且通過UTF-8編碼發送查詢,你會發現存入數據庫的仍然是亂碼。問題就出在這個connection連接層上。
      想要進行“正確”的存儲和得到“正確”的結果,最方便的是在所有query開始之前執行一下:
      
      SET NAMES 'gbk';
      其中gbk是數據庫字符集。
      
      它相當于下面的三句指令:
      SET character_set_client = gbk;
      SET character_set_results = gbk;
      SET character_set_connection = gbk;
      
      4.1和5.0默認使用的是latin1字符集(木頭:媽的,老外真霸道,妄想讓全世界都是使用瑞典字符集嗎)
      如果我們只想使用gbk字符集存儲和獲取數據,
      我們在編譯mysql 4.1和 5.0的時候,需要注意在my.ini或者my.cnf中添加兩處參數
      
    CODE:
    [mysqld]
      default-character-set=utf8

      
      
    CODE:
    #settings for clients (connection, results, clients)
      [mysql]
      default-character-set=utf8

      下面我們來說主題,如何轉換數據庫字符集
      兩種方法,
      
    QUOTE:
    第一種----更改存儲字符集
      主要的思想就是把數據庫的字符集有latin1改為gbk,big5,或者utf8; 以下操作必須擁有主機權限。假設當前操作的數據庫名為:database
      
      導出
      首先需要把數據導為mysql4.0的格式,具體的命令如下:
      mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > d4.sql
      
      mysqldump的參數參照:
      MySql數據庫備份mysqldump參數選項
      

      
      --default-characte-set 以前數據庫的字符集,這個一般情況下都是latin1的,
      --set-charset 導出的數據的字符集,這個可以設置為gbk,utf8,或者big5
      導入
      首先使用下面語句新建一個GBK字符集的數據庫(test)
      
      CREATE DATABASE `d4` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
      然后把剛才導出的數據導入到當前的數據庫中就ok了。
      
      mysql -uroot -p --default-character-set=gbk -f d4 通過以上的導出和導入就把數據庫的字符集改為正確的存儲方式了。
      
      其中d4為新建庫的名稱,d4.sql為導出文件的名字
      
      但是這種方法,發現數據庫數據存儲量無端變大30%,真是郁悶

      
      
    QUOTE:
    另外一種其實原理相同,但是需要手動操作,一般用于第一種方法失敗后的選擇
      不過這種方法如果數據庫很大,估計很難做,因為光打開文件就能讓你死機
      
      首先還是用phpmyadmin或者用mysql本身的dump導出 .sql文件
      
      然后用UltraEdit打開你備份的所有xxxx.sql文件,查找
      
    CODE:
    DEFAULT CHARSET=latin1

      latin1這里也許是別的,反正是你不想要的,要轉成gbk或者big5的字符集
      把這個替換為“空”
      在查找
      
    CODE:
    CREATE TABLE cdb_sessions (
      sid char(6) character set latin1 collate latin1_bin NOT NULL default '',
      ip1 tinyint(3) unsigned NOT NULL default '0',
      ip2 tinyint(3) unsigned NOT NULL default '0',
      ip3 tinyint(3) unsigned NOT NULL default '0',
      ip4 tinyint(3) unsigned NOT NULL default '0',
      uid mediumint(8) unsigned NOT NULL default '0',
      username char(15) NOT NULL default '',
      groupid smallint(6) unsigned NOT NULL default '0',
      styleid smallint(6) unsigned NOT NULL default '0',
      invisible tinyint(1) NOT NULL default '0',
      `action` tinyint(1) unsigned NOT NULL default '0',
      lastactivity int(10) unsigned NOT NULL default '0',
      fid smallint(6) unsigned NOT NULL default '0',
      tid mediumint(8) unsigned NOT NULL default '0',
      nickname char(15) NOT NULL default '',
      UNIQUE KEY sid (sid)
      ) ENGINE=HEAP MAX_ROWS=1000;

      替換為
      
    CODE:
    CREATE TABLE `cdb_sessions` (
      `sid` char(6) binary NOT NULL default '',
      `ip1` tinyint(3) unsigned NOT NULL default '0',
      `ip2` tinyint(3) unsigned NOT NULL default '0',
      `ip3` tinyint(3) unsigned NOT NULL default '0',
      `ip4` tinyint(3) unsigned NOT NULL default '0',
      `uid` mediumint(8) unsigned NOT NULL default '0',
      `username` char(15) NOT NULL default '',
      `groupid` smallint(6) unsigned NOT NULL default '0',
      `styleid` smallint(6) unsigned NOT NULL default '0',
      `invisible` tinyint(1) NOT NULL default '0',
      `action` tinyint(1) unsigned NOT NULL default '0',
      `lastactivity` int(10) unsigned NOT NULL default '0',
      `fid` smallint(6) unsigned NOT NULL default '0',
      `tid` mediumint(8) unsigned NOT NULL default '0',
      `nickname` char(15) NOT NULL default '',
      UNIQUE KEY `sid` (`sid`)
      ) TYPE=HEAP MAX_ROWS=2000;

      這一步更為簡單的辦法就是刪除掉關于cdb_sessions表的這一段,將來全新裝一個d4,將這個表導出
      將其內容復制,粘貼到 sql文件的最后面
      
      保存后,再把這個sql文件導入到你的庫中
      
      就OK了

      用這兩種方法就可以很方便的把4.1和5.0的mysql數據庫降級到4.0
      簡單的過程就是
      A導出4.1/5.0的庫
      B進行處理,轉換成gbk字符集
      C徹底卸載4.1或者5.0
      D安裝4.0.26
      E然后導入處理完的庫
      
      降級的時候導出庫可以用這個方法
      mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse --compatible=mysql40 > d4.sql
      這樣導出的就是4.0的庫勒
      
      至于mysql版本的升級,
      如果數據文件中有中文信息,那么將MySQL 4.0的數據文件,直接拷貝到MySQL 4.1中就是不可以的,即便在my.ini中設置了default-character-set為正確的字符集。雖然貌似沒有問題,但MySQL 4.1的字符集有一處非常惱人的地方,以gbk為例,原本MySQL 4.0數據中varchar,char等長度都會變為原來的一半,這樣存儲中文容量不變,而英文的存儲容量就少了一半。這是直接拷貝數據文件帶來的最大問題。
      
      所以,升級的根本,如果想使用“正確”的字符集,還是先用mysqldump導出成文件,然后導入。
      
      
      這里順便提一個我的好友深海寫的
      用于MySQL4.1的論壇數據庫字符集整理工具。
      
      剛寫的,處理部分代碼可能寫得有點齷齪,但是不影響使用,
      
      
      主要用于處理整理MySQL4.1指定數據庫、表、字段的字符集。
      
      適用于將非允許的字符集范圍內的數據結構(無數據!!)整理為適合Discuz!允許的字符集范圍。
    posted @ 2007-12-16 22:50 jadmin 閱讀(52) | 評論 (0)編輯 收藏
    僅列出標題
    共50頁: First 上一頁 18 19 20 21 22 23 24 25 26 下一頁 Last 
    主站蜘蛛池模板: 精品久久久久久无码免费| 无码 免费 国产在线观看91| 久久青草免费91线频观看不卡| 国产gav成人免费播放视频| 亚洲日韩精品国产3区| 在线观看免费成人| 亚洲αⅴ无码乱码在线观看性色| 免费黄色小视频网站| 91丁香亚洲综合社区| 暖暖日本免费在线视频| 无码天堂亚洲国产AV| 亚洲国产精品自在拍在线播放| 国产精品福利片免费看| 国产AV无码专区亚洲A∨毛片| 久久国产精品2020免费m3u8| 久久亚洲国产精品成人AV秋霞| 18禁免费无码无遮挡不卡网站 | 精品韩国亚洲av无码不卡区| 国产免费牲交视频| 中国在线观看免费的www| 亚洲三级电影网站| 毛片免费在线观看网站| 国产精品亚洲片在线花蝴蝶 | 久99精品视频在线观看婷亚洲片国产一区一级在线 | 99视频有精品视频免费观看| 亚洲国产精品张柏芝在线观看| 毛片a级毛片免费播放下载| 阿v免费在线观看| 亚洲αv久久久噜噜噜噜噜| 成人无码区免费A片视频WWW| 亚洲av成人一区二区三区在线播放| 亚洲日韩在线中文字幕第一页| 国产麻豆一精品一AV一免费| 亚洲一区精品视频在线| 免费很黄很色裸乳在线观看| 免费一级不卡毛片| 亚洲日本va一区二区三区| 亚洲日韩aⅴ在线视频| 成人毛片免费观看视频在线| 香蕉视频在线免费看| 亚洲国产精品日韩在线观看 |