安裝KB3102810的更新檔之後就可以正常更新了
這個更新檔是在修更新卡住的Bug
64位元
32位元
官方支援文件(英文)
目前分類:未分類文章 (5)
- Apr 20 Wed 2016 15:42
windows update win7 卡住
- Feb 24 Tue 2009 10:52
ultraedit
UltraEdit
使用reg取代
例如想把
http://www.wowbox.tw/item.php?witem=12345
取代為
http://www.bbb.com/x.o?i=12345
可以用
http://www.wowbox.tw/item.php?witem=^(*^)*"
作搜尋目標
再用
http://www.bbb.com/x.o?i=^1
作為取代的值
語法說明
^(*^) 是用來紀錄該搜尋資料的
可以在取代值以 ^1 ^2 ~ ^9作取代標記
- Aug 08 Fri 2008 09:28
一些應用軟體用的port
MSN Messenger通訊埠功能
連線功能 通訊協定 通訊埠號碼
一般連線 TCP 1863
語音通訊 UDP 6901
檔案傳送 TCP 6891?6900
遠端協助 TCP 3389
應用程式/白板分享 TCP 7800?7825
即時影音通訊 TCP 5100
MSN Messenger
訊息傳遞 TCP port 1863
檔案傳輸 TCP port 6891 – 6900
語音傳輸 TCP、UDP port 6901
MSN port
訊息:1863
傳檔:6891-6900
語音:6901
ICQ通訊埠功能
連線功能 通訊協定 通訊埠號碼
登入ICQ伺服器 UDP 4000 或
登入ICQ伺服器 TCP 5190
一般連線 TCP 1024?65535
ICQ
UDP port 4000 - outbound
TCP port 20000 – 20019, inbound for first user
TCP port 20000 – 20039, inbound for second user
Incremental for other users
其他通訊埠功能
連線功能 通訊協定 通訊埠號碼
傳送E-MAIL TCP 25
接收E-MAIL TCP 110
傳送聊天室/ TCP HTTP:80/81?83 HTTP:443
網路呼叫器等資料 SOCKS:1080/3128/8080/8088/11523
HTTP TCP 80
FTP TCP 20&21
TELNET TCP 23
YAHOO UDP 5050
PCANYWHERE TCP 5631&5632
MSN 電玩特區(Game Zone)
TCP port 6667 for Inbound session
TCP prot 28800 - 29000
Microsoft Age of Empires I、II (世紀帝國)
DirectX 7
Initical TCP connection 47624
TCP 、UDP port 2300 – 2400
Subsequent inbound and outbound connection
DirectX 8
Initical TCP connection 6073
TCP 、UDP port 2300 – 2400
Subsequent inbound and outbound connection
Quake III
UDP port 27660 for inbound session
Each computer must use different port, starting at 27660
EzPeer
TCP port 28865 for inbound session
Napster
TCP、UDP port 6699 for inbound and outbound session
魔獸世界 >>> 3724
天堂II >>> 7777
亂Online >>> 5105 5502
楓之谷 >>> 8585 8686 8787
新天上碑 >>> 2000
熱血江湖 >>> 14000 15000
仙境傳說 >>> 5000
希望Online >>> 1818
魔力寶貝 >>> 9013
墨香Online >>> 14600~14602
黃易Online >>> 6877
飛飛Online >>> 15400
TS 8767
卡丁車 TCP 80、TCP 39311 、UDP 39311、TCP 36456、TCP 36567
Warcraft3 6112
- Aug 07 Thu 2008 14:04
ado.net 如何讀取 excel來源
從網路上找來的
經常需要在數據庫與Execl之間互導數據。net時代,ADO.NET可以使用使用Microsoft.Jet.OleDb訪問訪問Excel,網上已經有很多類似的資源,最典型也是最簡單的可能如下:(asp.net環境)
// 連接字符串
string xlsPath = Server.MapPath("~/app_data/somefile.xls"); // 絕對物理路徑
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=Excel 8.0;" +
"data source=" + xlsPath;
// 查詢語句
string sql = "SELECT * FROM [Sheet1$]";
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr);
da.Fill(ds); // 填充DataSet
// 在這裡對DataSet中的數據進行操作
// 輸出,綁定數據
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
很簡單吧?!一切就像操作數據庫一樣,只是需要注意的是:
1。數據提供程序使用Jet,同時需要指定Extended Properties 關鍵字設置 Excel 特定的屬性,不同版本的Excel對應不同的屬性值:用於 Extended Properties 值的有效 Excel 版本。
對於 Microsoft Excel 8.0 (97)、9.0 (2000) 和 10.0 (2002) 工作簿,請使用 Excel 8.0。
對於 Microsoft Excel 5.0 和 7.0 (95) 工作簿,請使用 Excel 5.0。
對於 Microsoft Excel 4.0 工作簿,請使用 Excel 4.0。
對於 Microsoft Excel 3.0 工作簿,請使用 Excel 3.0。
2。數據源路徑使用物理絕對路徑(同Access)
3。如何引用表名?
對 Excel 工作簿中表(或範圍)的有效引用。
若要引用完全使用的工作表的範圍,請指定後面跟有美元符號的工作表名稱。例如:
select * from [Sheet1$]
若要引用工作表上的特定地址範圍,請指定後面跟有美元符號和該範圍的工作表名稱。例如:
select * from [Sheet1$A1:B10]
若要引用指定的範圍,請使用該範圍的名稱。例如:
select * from [MyNamedRange]
ref:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/dv_vbcode/html/vbtskcodeexamplereadingexceldataintodataset.asp
說明:
可以引用Excel 工作簿中的三種對像:
‧ 整張工作表:[Sheet1$] ,Sheet1 就是工作表的名稱
‧ 工作表上的命名單元格區域:[MyNamedRange] (不需要指定工作表,因為整個xls中命名區域只能唯一)
XLS命名方法:選中單元格範圍》插入》名稱》定義
‧ 工作表上的未命名單元格區域 :[Sheet1$A1:B10]
(在關係數據庫提供的各種對像中(表、視圖、存儲過程等),Excel 數據源僅提供相當於表的對象,它由指定工作簿中的工作表和定義的命名區域組成。命名區域被視為「表」,而工作表被視為「系統表」)
注意:
‧必須使用[](方括號),否將報:
FROM 子句語法錯誤
‧必須跟$(美元符號),否則報:
Microsoft JetJets-of-the-Future Sep-07 數據庫引擎找不到對像'Sheet2'。請確定對象是否存在,並正確地寫出它的名稱和路徑。
‧如果工作表名稱不對,或者不存在,將報:
'Sheet2$' 不是一個有效名稱。請確認它不包含無效的字符或標點,且名稱不太長。
‧在 如何在 Visual Basic 或 VBA 中使用 ADO 來處理 Excel 數據 中提到可以使用
~ 和 '(波浪線和單引號)代替[],使用ADO。NET測試沒有成功,報:
FROM 子句語法錯誤
‧當引用工作表明名([Sheet1$])時,數據提供程序認為數據表從指定工作表上最左上方的非空單元格開始。比如,工作表從第 3 行,C 列開始,第3行,C列之前以及第1、2行全為空,則只會顯示從第3行,C列開始的數據;以最後表最大範圍內的非空單元結束;
‧因此,如需要精確讀取範圍,應該使用命名區域 [NamedRange],或者指定地址:[Sheet1$A1:C10]
4。如何引用列名?
‧根據默認連接字符串中,數據提供程序會將有效區域內的第一行作為列名,如果此行某單元格為空則用F1、F2表示,其中序數,跟單元格的位置一致,從1開始;
‧如果希望第一行作為數據顯示,而非列名,可以在連接串的 Extended Properties 屬性指定:HDR=NO
默認值為:HDR=NO 格式如下:
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=NO\";" +
"data source=" + xlsPath;
注意: Excel 8.0;HDR=NO 需要使用雙引號(這裡的反斜扛,是C#中的轉義)
ref:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/WD_ADONET/html/745c5f95-2f02-4674-b378-6d51a7ec2490.htm 中 《連接Excel》節(說明:在我自己的MSDN中,它的例子使用了兩個雙引號是錯的,測試沒有通過,原文這樣說的:
注意,Extended Properties 所需的雙引號必須還要加雙引號。
)
在這種情況下,所有的列名都是以F開頭,然後跟索引,從F1開始,F2,F3。。。。。。。
5。為什麼有效單元格數據不顯示出來?
出現這種情況的可能原因是,默認連接中,數據提供程序根據前面單元格推斷後續單元個的數據類型。
可以通過 Extended Properties 中指定 IMEX=1
「IMEX=1;」通知驅動程序始終將「互混」數據列作為文本讀取
ref:同4
PS:在baidu這個問題的時候,有網友說,將每個單元都加上引號,這固然是格方案,但是工作量何其大啊,又不零活,慶幸自己找到」治本藥方「
more ref:
如何在 Visual Basic 或 VBA 中使用 ADO 來處理 Excel 數據
http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
應用程序經常需要與Excel進行數據交互,以上闡述了基於ADO.NET 讀取Excel的基本方法與技巧。現在要介紹是如何動態的讀取Excel數據,這裡的動態指的是事先不知道Excel文件的是什麼樣的結構,或者無法預測,比如一張.xls文件有多少張sheet,而且每張sheet的結構可能都不一樣等等。
其實我們可以通過獲取Excel的「架構信息」來動態的構造查詢語句。這裡的「架構信息」與數據庫領域的「數據庫架構信息」意義相同(也稱「元數據」),對於整個數據庫,這些「元數據」通常包括數據庫或可通過數據庫中的數據源、表和視圖得到的目錄以及所存在的約束等;而對於數據庫中的表,架構信息包括主鍵、列和自動編號字段等。
在上文中提到
在關係數據庫提供的各種對像中(表、視圖、存儲過程等),Excel 數據源僅提供相當於表的對象,它由指定工作簿中的工作表和定義的命名區域組成。命名區域被視為「表」,而工作表被視為「系統表」)
這裡我們將Excel也當作一個「數據庫」來對待,然後利用OleDbConnection.GetOleDbSchemaTable 方法
要獲取所需的架構信息,該方法獲取的架構信息與ANSI SQl-92是兼容的:
注意:對於那些不熟悉 OLE DB 架構行集的人而言,它們基本上是由 ANSI SQL-92 定義的數據庫構造的標準化架構。每個架構行集具有為指定構造提供定義元數據的一組列(稱作 .NET 文檔中的「限制列」)。這樣,如果請求架構信息(例如,列的架構信息或排序規則的架構信息),則您會明確知道可以得到哪種類型的數據。如果希望瞭解更多信息,請訪問 Appendix B:Schema Rowsets。
ref:http://www.microsoft.com/china/msdn/library/office/office/odatanet2.mspx?mfr=true
以下是讀取Excel文件內「表」定義元數據,並顯示出來的的程序片斷:
// 讀取Excel數據,填充DataSet
// 連接字符串
string xlsPath = Server.MapPath("~/app_data/somefile.xls");
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";" + // 指定擴展屬性為 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),並且第一行作為數據返回,且以文本方式讀取
"data source=" + xlsPath;
string sql_F = "SELECT * FROM [{0}]";
OleDbConnection conn = null;
OleDbDataAdapter da = null;
DataTable tblSchema = null;
IList<string> tblNames = null;
// 初始化連接,並打開
conn = new OleDbConnection(connStr);
conn.Open();
// 獲取數據源的表定義元數據
//tblSchema = conn.GetSchema("Tables");
tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
GridView1.DataSource = tblSchema;
GridView1.DataBind();
// 關閉連接
conn.Close();
GetOleDbSchemaTable 方法的詳細說明可以參考:
http://msdn2.microsoft.com/zh-CN/library/system.data.oledb.oledbconnection.getoledbschematable.aspx
接著是一段利用「架構信息」動態讀取Excel內部定義的表單或者命名區域的程序片斷:
// 讀取Excel數據,填充DataSet
// 連接字符串
string xlsPath = Server.MapPath("~/app_data/somefile.xls");
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";" + // 指定擴展屬性為 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),並且第一行作為數據返回,且以文本方式讀取
"data source=" + xlsPath;
string sql_F = "SELECT * FROM [{0}]";
OleDbConnection conn = null;
OleDbDataAdapter da = null;
DataTable tblSchema = null;
IList<string> tblNames = null;
// 初始化連接,並打開
conn = new OleDbConnection(connStr);
conn.Open();
// 獲取數據源的表定義元數據
//tblSchema = conn.GetSchema("Tables");
tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
//GridView1.DataSource = tblSchema;
//GridView1.DataBind();
// 關閉連接
//conn.Close();
tblNames = new List<string>();
foreach (DataRow row in tblSchema.Rows) {
tblNames.Add((string)row["TABLE_NAME"]); // 讀取表名
}
// 初始化適配器
da = new OleDbDataAdapter();
// 準備數據,導入DataSet
DataSet ds = new DataSet();
foreach (string tblName in tblNames) {
da.SelectCommand = new OleDbCommand(String.Format(sql_F, tblName), conn);
try {
da.Fill(ds, tblName);
}
catch {
// 關閉連接
if (conn.State == ConnectionState.Open) {
conn.Close();
}
throw;
}
}
// 關閉連接
if (conn.State == ConnectionState.Open) {
conn.Close();
}
// 對導入DataSet的每張sheet進行處理
// 這裡僅做顯示
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
GridView2.DataSource = ds.Tables[1];
GridView2.DataBind();
// more codes
// .
這裡我們就不需要對SELECT 語句進行「硬編碼」,可以根據需要動態的構造FROM 字句的「表名」。
不僅可以,獲取表明,還可以獲取每張表內的字段名、字段類型等信息:
tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, null, null });
在ADO.nET 1.x 時候只有OleDb提供了GetOleDbSchemaTable 方法,而SqlClient或者OrcaleClient沒有對應的方法,因為對應數據庫已經提供了類似功能的存儲過程或者系統表供應用程序訪問,比如對於Sql Server:
SELECT *
FROM Northwind.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
而在ADO.NET 2.0中每個xxxConnenction都實現了基類System.Data.Common.DbConnection的 GetSchemal 方法
來獲取數據源的架構信息。
http://msdn2.microsoft.com/zh-cn/library/system.data.common.dbconnection.getschema.aspx
- May 02 Wed 2007 17:42
Crystal Kay-こんなに近くで...(歌詞+翻譯)
恋がせつないと
すぐそばで気付いたあの夜
だって他の誰より
あなたの事をしってるから
いつものさりけない
優しささえ この胸を締め付けてく
在某天夜晚立刻會察覺 你在我身邊
因為我比任何人
對你都要了解
總是若無其事的 溫柔地支持我
令我揪心不已
こんなに こんなに 近くで見つめても
どうして どうして ただの友達なの?
どんなに どんなに 強く思っていても
伝えられない you do not understand
I am so in love with you.
為何 為何 卻只能當朋友
無論 無論如何強烈的思念
都無法傳達給你 you do not understand
I am so in love with you.
「元気ないよね?」と
あなたからいわれた瞬間
涙隠すアクビで
「寝不足かな?」っていい訳した
用打呵欠來隱藏淚水
「沒睡好吧?」 只好如此解釋
人に嘘を重ねてく...今の私
對最重要的人不斷的說謊 如今的我
毎日 毎日 胸が苦しいから
いくつも いくつも 眠れぬ夜を越え
はじめて はじめて 出逢ったあの日にまた
戻れるのなら いいのに...
I am so in love with you.
多少個 多少個 渡過了無法成眠的夜晚
第一次第一次 相逢的那天
能再回來的話 那該有多好
I am so in love with you.
もう二度と笑顔のは戻れないかもしれない
けれども友達のまま 作り笑いは
これ以上私出来ないから
已經無法再看到笑顏再重返
但就這樣笑著只作朋友
我無法再這麼做
いつでも いつでも 愛し續けてたの
あなたに あなたに 届けたい気持ちを
青い空へと囁いた
I am so in love with you.
總是 總是 不斷愛你
想傳達給你的心意
只好向天空偷偷的說
I am so in love with you.
こんなに こんなに 近くで見つめても
どうして どうして ただの友達なの?
どんなに どんなに 強く思っていても
伝えられない you do not understand
I am so in love with you.
如此地 如此地 即使如此靠近的凝視著
為何 為何 卻只能當朋友
無論 無論如何強烈的思念
都無法傳達給你 you do not understand
I am so in love with you.