怎么樣用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?? 學號,姓名
// 第一步:創建一個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
?????? 近來看了很多程序員的言論……感覺都是滿腹牢騷,一肚子憤懣。我想要說的是,程序員不是神。時下一些程序員所能作的,其實大多數普通人通過一段時間的培訓和學習都可以作。編程工具已越來越容易使用,編程思想越來越成熟,計算機書籍更是琳瑯滿目,開發過程中的規范性也已經越來越重要。作為一個普普通通的程序員,只是幾個通宵的投入,1-2個月囫圇吞棗的學習,又能有什么理由能奢求太多?
其實當很多人計算著自己一行代碼值幾毛錢的時候,或許他從來沒有踏踏實實去考慮自己的能力和水平究竟如何。坦誠的講,大多數程序員的代碼質量和設計質量充其量只能算入門水平,學什么東西也只是皮毛而已,盡管可能簡歷上寫得是精通……
這社會是現實的,發展的。十多年前,程序員是個真正的有門檻的行業。因為那時候沒那么多漂亮的開發工具,沒有高級語言的支持,甚至連面向對象的開發思想都還僅僅是萌芽,更不用說什么質量控制體系。那時候要掌握開發技術遠比其他行業的技術困難得多,只有少數精英才能做到,而且還需要有過人的智力、耐心與毅力。要付出很多很多。這些“精英”,自然也能得到社會足夠的尊重。而現在,在前輩的辛苦耕耘下,進入這個行業幾乎已經沒有了門檻。當你懷著對前人獲得的財富、榮譽和使命感走上程序員這條路的時候,可能你根本就不知道等待自己的將是什么……其實,而今在自己公司一小群程序員里“冒充”某某方面專家的時候,很多人卻不知道甚至根本無法想像,在不很久遠的過去,自己或許只能選擇中途放棄。
雖然不是每個人都這樣,但是我還是要說:有人根本沒毅力,他們只想輕輕松松的賺錢,卻從來不想承擔自己該承擔的責任;有人根本沒創造性,他唯一會作的就是把別人的代碼抓來抄襲一下;有人始終自以為是,代碼能編譯通過和運行了就覺得可以OK完工了;有人的設計和代碼糟糕冗余,可被其他人精簡2-3倍長,性能也可優化數十倍;有人技術視野狹隘,搞C++的就覺得Java是個Sun的新式玩具,搞Java就鄙夷C++為洪水猛獸和怪物;更有人還把用別人發現的漏洞、別人開發的工具去黑黑別人的電腦當做自己已經是牛人和所謂的“黑客”。這些“程序員”真的能算程序員么?如果這也算程序員,我認為他們也只是現在這個時代最平庸的一群程序員而已……
其實任何行業、任何職業都會面臨這樣或那樣的機遇,總有不知道的困難、煩惱在前面等著你。大家羨慕的只是成功時的鮮花和啤酒,又有幾個人真正去羨慕成功背后的艱辛和苦楚呢?作銷售好,作管理好,作老板好,作XX好……這樣類似的話我聽得都厭煩了。要我說,作自己最好。
在這社會上,我們或許習慣了用社會的、他人的標準去衡量、去比較,比如什么女朋友好不好、老婆好不好、工作好不好、老板好不好之類的。誠然,人不能脫離現實、脫離社會,人需要生存。但今天社會給我們所提供的機會,已經比我們的父輩開闊了許多許多。我不認為一個有才能、肯吃苦的人會失去謀生的機會,或者說會生存得比我們的父輩還要艱辛,我們還有什么可抱怨的?也許我們沒有搭上某趟快速致富的列車,也許我們看到其他搭上列車的人的成功心理難以平衡,但是不是說我們就因此無法自信的在朋友面前抬起頭,無法博得一份屬于自己的愛情,無法獲得其他人的尊重,無法去作一份有意義的工作,無法享受一份美好的生活呢?
其實,沒人能剝奪別人的快樂,沒人能總結出一條適用于所有人的所謂“成功”標準,沒人能魚和熊掌兼得。有些人茫然的來,如同另外一些人茫然的走,沒有帶來什么,更沒有留下什么,這就是而今大多數浮躁的程序員的道路?;蛟S,我們的國家現在還沒有美國那樣重視知識、重視科學、重視創新,然而除非你自己拒絕所有的機會,不然社會也同樣不會讓有開發知識、有創新能力的人都被逼得當街賣燒烤。
不懂得珍惜現在的人,永遠不可能把握未來……沒有好的心態,就已經先失敗了一半。作什么其實不重要,然而智慧的人知道怎么踏踏實實的去走腳下的路,平庸的人卻只知道羨慕和抱怨,從來不留意腳下的路。
最后用一句話來總結:程序員不是神,心態決定一切,成功在你腳下。
一些基本的命令往往可以在保護網絡安全上起到很大的作用,下面幾條命令的作用就非常突出。
一、檢測網絡連接
如果你懷疑自己的計算機上被別人安裝了木馬,或者是中了病毒,但是手里沒有完善的工具來檢測是不是真有這樣的事情發生,那可以使用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組的,那幾乎肯定你被入侵了,而且別人在你的計算機上克隆了賬戶??焓褂谩皀et user用戶名/del”來刪掉這個用戶吧!
聯網狀態下的客戶端。對于沒有聯網的客戶端,當其聯網之后也會在第一時間內收到更新信息將病毒特征庫更新到最新版本。不僅省去了用戶去手動更新的煩瑣過程,也使用戶的計算機時刻處于最佳的保護環境之下。
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
有些道理總要等到適當的年紀才能明白,人生的哲理總是來得太遲。回想曾經讓我們激動萬分的事情,竟是如此微不足道,為什么當初就不能領悟?冤冤相報 何時了,這個道理誰都明白,可我們為什么還在沉溺于過去的痛苦無法自拔?如果你知道一個人能做的最大的冒險事情,就是樂意在公共場合經常暴露自己的愚昧。 你現在愿意這么做嗎?-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.
如果你想出門,但電腦又正在進行工作,這時就要用到自動關機。大多數實現自動關機的方法都是使用一些第三方軟件,這樣不僅麻煩,而且為實現這個小功 能而專門動用一個軟件,顯的小題大做了!其實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個字符)
最近discuz發布了新的版本,免費了,用的人更多了,以前使用其它論壇程序和discuz2.5/3.0的紛紛轉換或升級到discuz4.0,可見discuz作為中國人開發的php論壇程序,確實是非常優秀的,在大家欣喜若狂的時候,也遇到了一些問題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) |
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文件,查找
latin1這里也許是別的,反正是你不想要的,要轉成gbk或者big5的字符集 把這個替換為“空” 在查找
替換為
這一步更為簡單的辦法就是刪除掉關于cdb_sessions表的這一段,將來全新裝一個d4,將這個表導出 將其內容復制,粘貼到 sql文件的最后面 保存后,再把這個sql文件導入到你的庫中 就OK了 |