2009年2月24日 星期二

ORA-12705 Oracle 問題解決方式

用 C# 寫了一支表單程式,將資料丟上 Oracle 資料庫,結果出了問題。

ORA-12705: Cannot access NLS data files or invalid environment specified


詳細的錯誤細節就不說了,爬了很多的文,也一一確認,最後發現是 本身電腦已經有安裝 Oracle Database

原本已安裝 Oracle database 9
本次預定連線至 Oracle database 10i

解決方式:
將 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 內找出 NLS_LANG 子機碼

預設是 NA 的值,將 NLS_LANG 變更名稱 --> NLS_LANG2  即可。

也擔心原先 Oracle database 9 的不能跑,試跑了一下。。竟然OK。。

果然有效阿!!! 真好。



C# 字串的語法

字串處理應該是 最常用的吧,最近開始接觸到了,把一些有需要的集中在一起。

例如以下.

string debug_sn = listBox2.SelectedItem.ToString(); //把Listbox2 裡面選到的項目 送到 debug_sn 的變數里面
if (debug_sn.StartsWith("F") == true) //判定開頭是不是 F 開頭,主要是因為我的 Listbox2 裡面有其他資料
{
textBox7.Text = debug_sn.Substring(0, 5); //從 0 位址開始擷取,取 5 個字元
textBox8.Text = debug_sn.Substring(0, 10);
textBox9.Text = debug_sn.Substring(10, 5);
}


其他網站找到的。
(來源:http://www.dotblogs.com.tw/yc421206/archive/2008/11/03/5863.aspx )


String.Compare:比較兩個字串的值。傳回整數值。
String.CompareOrdinal:比較兩個字串,不管本地文化特性。傳回整數值。
String.CompareTo:將目前的字串物件與另一個字串加以比較。傳回整數值。
String.StartsWith:判斷字串的開頭是否為傳入的字串。傳回布林值。
String.EndsWith:判斷字串的結尾是否為傳入的字串。傳回布林值。
String.Equals:判斷兩個字串是否相同。傳回布林值。
String.IndexOf:從您正在檢查的字串開頭開始,傳回字元或字串的索引位置。傳回整數值。
String.LastIndexOf:從您正在檢查的字串結尾開始,傳回字元或字串的索引位置。傳回整數值。

字串處理範例:
http://msdn.microsoft.com/zh-tw/library/ms228364%28VS.80%29.aspx

常用C#字串處理函數
http://msdn.microsoft.com/zh-tw/library/system.string_methods%28VS.80%29.aspx

名稱 說明
Public method Supported by the .NET Compact Framework Clone 傳回對 String 這個執行個體的參考。
Public method Static Supported by the .NET Compact Framework Compare 多載。 比較兩個指定的 String 物件。
Public method Static CompareOrdinal 多載。 藉由評估每個字串中對應的 Char 物件之數字值,比較兩個 String 物件。
Public method CompareTo 多載。 將這個執行個體與指定的物件或 String 相比較,並傳回它們的相對值指示。
Public method Static Supported by the .NET Compact Framework Concat 多載。 串連一個或多個 String 的執行個體,或者一個或多個 Object 執行個體值的 String 表示。
Public method Contains 傳回值,指出指定的 String 物件是否會出現在這個字串內。
Public method Static Supported by the .NET Compact Framework Copy 使用與指定的 String 相同的值,建立 String 的新執行個體。
Public method Supported by the .NET Compact Framework CopyTo 將字元的指定數目從這個執行個體的指定位置,複製到 Unicode 字元陣列的指定位置。
Public method Supported by the .NET Compact Framework EndsWith 多載。 判斷 String 執行個體的結尾是否符合指定之字串。
Public method Supported by the .NET Compact Framework Equals 多載。 覆寫。 判斷兩個 String 物件是否具有相同的值。
Public method Static Supported by the .NET Compact Framework Format 多載。 以與對應物件值相等的文字,取代指定 String 中的每個格式項目。
Public method GetEnumerator 擷取可以逐一查看這個字串中個別字元的物件。
Public method Supported by the .NET Compact Framework GetHashCode 覆寫。 傳回這個字串的雜湊程式碼。
Public method Supported by the .NET Compact Framework GetType 取得目前執行個體的 Type。 (繼承自 Object)。
Public method Supported by the .NET Compact Framework GetTypeCode 傳回類別 String 的 TypeCode。
Public method Supported by the .NET Compact Framework IndexOf 多載。 報告這個字串中 String 或一或多個字元之第一個符合項目的索引。
Public method Supported by the .NET Compact Framework IndexOfAny 多載。 報告指定 Unicode 字元陣列中的任何字元於這個執行個體中第一個符合項目的索引。
Public method Supported by the .NET Compact Framework Insert 在這個執行個體的指定索引位置,插入 String 的指定執行個體。
Public method Static Supported by the .NET Compact Framework Intern 擷取指定的 String 的系統參考。
Public method Static Supported by the .NET Compact Framework IsInterned 擷取對指定 String 的參考。
Public method IsNormalized 多載。 指出這個字串是否為特定的 Unicode 正規化格式。
Public method Static Supported by the .NET Compact Framework IsNullOrEmpty 指出指定的 String 物件是否為 Null 參照 (即 Visual Basic 中的 Nothing) 或 Empty 字串。
Public method Static Supported by the .NET Compact Framework Join 多載。 將指定 String 陣列每個元素之間的指定分隔符號 String 串連,產生單一的串連字串。
Public method Supported by the .NET Compact Framework LastIndexOf 多載。 報告這個執行個體中指定 Unicode 字元或 String 最後項目的索引位置。
Public method Supported by the .NET Compact Framework LastIndexOfAny 多載。 報告 Unicode 陣列中的一個或多個指定字元在這個執行個體中最後項目的索引位置。
Public method Normalize 多載。 傳回新的字串,其二進位表示為特定的 Unicode 正規化格式。
Public method Static Supported by the .NET Compact Framework op_Equality 判斷兩個指定的 String 物件是否具有相同的值。
Public method Static Supported by the .NET Compact Framework op_Inequality 判斷兩個指定的 String 物件是否具有不同的值。
Public method Supported by the .NET Compact Framework PadLeft 多載。 將這個執行個體中的字元靠右對齊,以空格或指定的 Unicode 字元在左側填補至指定的總長度。
Public method Supported by the .NET Compact Framework PadRight 多載。 將這個字串中的字元靠左對齊,以空格或指定的 Unicode 字元在右側填補至指定的總長度。
Public method Static Supported by the .NET Compact Framework ReferenceEquals 判斷指定的 Object 執行個體是否為相同的執行個體。 (繼承自 Object)。
Public method Supported by the .NET Compact Framework Remove 多載。 從這個執行個體中刪除指定數目的字元。
Public method Supported by the .NET Compact Framework Replace 多載。 以另一個指定的 Unicode 字元或 String,取代這個執行個體中指定的 Unicode 字元或 String 的所有項目。
Public method Supported by the .NET Compact Framework Split 多載。 傳回 String 陣列,其中包含這個執行個體中由指定的 Char 或 String 陣列之元素所分隔的子字串。
Public method Supported by the .NET Compact Framework StartsWith 多載。 判斷 String 執行個體的開頭是否符合指定之字串。
Public method Supported by the .NET Compact Framework Substring 多載。 從這個執行個體擷取子字串。
Public method Supported by the .NET Compact Framework ToCharArray 多載。 將這個執行個體中的字元複製到 Unicode 字元陣列中。
Public method Supported by the .NET Compact Framework ToLower 多載。 傳回轉換成小寫的這個 String 複本。
Public method ToLowerInvariant 傳回轉換成小寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。
Public method Supported by the .NET Compact Framework ToString 多載。 覆寫。 將這個執行個體的值轉換為 String。
Public method Supported by the .NET Compact Framework ToUpper 多載。 傳回轉換成大寫的這個 String 複本。
Public method Supported by the .NET Compact Framework ToUpperInvariant 傳回轉換成大寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。
Public method Supported by the .NET Compact Framework Trim 多載。 將指定字元集的所有項目從這個執行個體的開頭和結尾移除。
Public method Supported by the .NET Compact Framework TrimEnd 將陣列中指定的字元集之所有項目從這個執行個體的結尾移除。
Public method Supported by the .NET Compact Framework TrimStart 將陣列中指定的字元集之所有項目從這個執行個體的開頭移除。



String.Substring( ):從指定的字元位置開始截取字串
語法:字串變數.Substring(左起始位數 , 取幾位)
範例:string s1 = str.Substring(0,2);

String.length():取得字串長度
String.Remove(int1,int2):從int1(起始位置)開始刪除長度為int2的字串
String.Insert(int,string):在int的位置插入string
String.Substring(int):從參數開始取出剩下的字串
String.Substring(int1,int2):取出int1開始長度為int2的字串
String.IndexOf(string):傳回第一次搜尋到字串(string)的位置
String.IndexOf(string,int):傳回第一次搜尋到字串(string)的位置,開始搜尋位置為int
String.LastIndexOf(string):跟IndexOf功能類似,但從後面開始搜尋
String.LastIndexOf(string,int):跟IndexOf功能類似,但從後面開始搜尋
String.Replace(char,char):取代字元
String.ToLower():將英文轉成小寫
String.ToUpper():將英文轉成大寫
String.Trim():刪除字串前後的空白字元
String.TrimEnd():刪除字串尾部的空白字元
String.TrimStart():刪除字串開頭的空白字元

2009年2月20日 星期五

公司內使用 3.5G 無線網卡連接外網的方法(未完)

由於 公司有自己的內部網路,通過公司網路 經由 Proxy 來收信、上網、開啟公司內區網資料夾
但是 公司有鎖一些對外的 Port ,所以很多壞事都不能做 -_-|||

在下有 3.5G 的無線網卡,想說可以一起使用 ,達到可以一邊收公司的信件來處理公事,
一方面又可以連上我喜歡的網站下載一些資源。

重點是如何來實現。

Test 1 :
將 3.5G 裝上,同時公司網路 也接上,發現 E-Mail 等都通過 3.5G 來處理,
查了一下原因,是因為 3.5G 速度快(Metric 比較低),Windows 在處理的時候
會自動優先選擇 Metric 比較低的網路,所以變成 公司網路完全無視!!

Test 2:
上網爬文發現,可以利用 Route 來做一些 指定的功能。

在MS DOS 下執行:
route print (可以檢視目前 的狀態)
route add 目標IP mask 子遮罩IP 希望走的網路Gateway

只是 測試了以後發現,還是不行阿。。。
只好先擺者,有空在研究了!!

未完

C# 鍵盤的按鍵判斷

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
//判斷 textbox1 裡面是不是 按Enter(Enter = 13) ,如果是 才動作
if (e.KeyChar == 13)
{
button1.Focus();

}

C# Try catch 例外處理!!超強~

再也不怕程式死當了!!



try
{
if (!string.IsNullOrEmpty(strValue))
{
File.WriteAllText(strFile, strValue, Encoding.UTF8);
MessageBox.Show("下載好了");
}
}
//直接把程式錯誤訊息 Show 出來
catch(Exception QQ)
{
MessageBox.Show(QQ.Message.ToString());
}
}

C# 將 DataGridView 匯出至 CSV 檔案

private void button2_Click(object sender, EventArgs e)
{
string input_date2 = textBox1.Text;
string strValue = string.Empty;
//CSV 匯出的標題 要先塞一樣的格式字串 充當標題
strValue="系統流水號,桃園,機種,條碼,電測工程,日期,時間,其他EQ,樓層,線別,工號,直別,不良項目,不良位置,不良內容,其他1,其他2,其他3,更新時間";
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
for (int j = 0; j < dataGridView1.Rows[i].Cells.Count; j++)
{
if (!string.IsNullOrEmpty(dataGridView1[j, i].Value.ToString()))
{
if (j > 0)
strValue = strValue + "," + dataGridView1[j, i].Value.ToString();
else
{
if (string.IsNullOrEmpty(strValue))
strValue = dataGridView1[j, i].Value.ToString();
else
strValue = strValue + Environment.NewLine + dataGridView1[j, i].Value.ToString();
}
}
}

}
//存成檔案(注意!!當有中文字的時候 存檔案一定要用 UTF8)

string strFile = "C:\\FET每日異常紀錄-"+input_date2+".csv";

if (!string.IsNullOrEmpty(strValue))
{
File.WriteAllText(strFile, strValue, Encoding.UTF8);
MessageBox.Show("下載好了");
}

}

}

2009年2月13日 星期五

C# Listbox1 內點選項目,並開啟檔案

//當選取 Listbox1 內容時的動作
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//避免選擇為空 的選項
if ((string)listBox1.SelectedItem != "")
{
//判斷 檔案是否存在
if (System.IO.File.Exists(listBox1.SelectedItem.ToString()) == true)
{
//檔案存在,開啟檔案
System.Diagnostics.Process km = new System.Diagnostics.Process();
km.StartInfo.FileName = listBox1.SelectedItem.ToString();
km.StartInfo.UseShellExecute = true; //非執行檔也可以使用,若false則指定 執行檔才能執行
if (km.StartInfo.FileName != "")
{
km.Start();
}
System.Threading.Thread.Sleep(500); //delay 一下

}
else
{
//檔案不存在,所以將 點選Listbox1 選中的 Item 秀出。
MessageBox.Show(listBox1.SelectedItem.ToString(), "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
}
}
}

2009年2月11日 星期三

武林群俠傳 - 1~80 刑天打怪地點

1~11等:
大約1小時內就可以達到,跟著任務跑
11~30等:
這個階段大家跟著任務跑 大約到23~25等就會覺得好難練,有卡的感覺 這時可以去找你黃字的怪打 當然還是要過任務 你可以分時間 1小時都打怪 1小時都過任務(這 樣也鍊滿快的)
30~37等:
都在廢棄村莊黃金梯田吧,這時大家要去過''挑戰3郎'' 每天都要把3次過完唷!假如都過完,不要退隊 繼續打怪 可以去打廢棄村莊狗狗 很好練
37~45等:
就去千山嚕(有人會說40等在去比較好) 可是我覺得37等去打千山教徒(不會痛經驗又多),打到40等左右,改打異狼他會掉''凡品紅銘''40等~45等應該可以打到4~5個 42等感覺不好練時可以去打蜘蛛
45等~49等:
荒郊猴子就是打猴子就好了 前期會痛一點 不過很好練
49~55等:
幽魂凱晰49~51等 打他時可能不太痛 感覺不好的話可以回去打猴子 重點是52等~55等就一定要打詭蜥~扁幅太硬了(雖然他的王聽說會掉 ''上品的紅銘絲'')不過還是打詭蜥就好(裝備夠好的就去打扁幅八)
55等~59等:
溫泉谷孤堡偵查兵就是打這個就好 別是打機械鳥 他經驗跟修行值都比偵查兵查兵的王會掉~60等''上品氣脈+4戒指''巡邏兵的王會掉''上品紅銘絲''
59等~65等:
彩虹步道惡賊或是電魚 電魚王會掉''極品紅銘絲''
65等~70等:
兵器塚白靈蜥一值打就對了~
70~75等:
生命花園女飛賊(修刑比較多) 或是織蜥會掉''力量+5的戒指跟鍛造點金福''還有機關偏福(這2種是經驗比較多)
75等~81等:
晴陽谷利光爪鷹(有時會有很多人可以去打朱血厭)
75等一定要學的技能(上古天魔神訣(滿) 破天擊(滿) 返怒(滿))
不要用刑天斬托怪 請用破天擊+刑天吼
再用上古天魔神訣+返怒來練功

2009年2月10日 星期二

User 電腦發生 找不到 Dllregisterserver 進入點,解決方式

程式開發語言:Microsoft Visual C# 2008 Express Edition
開發環境:Net Framework 2.0

主要功能是 在Client 端 透過 SQL Server 進行資料新增、比對。。等功能
但是 在 Client 開啟程式後發生了 找不到 Dllregisterserver進入點 的問題

解決方法:複製 Sqldmo.dll 、Sqldmo.rll 兩個檔案到 System32\resources\1033 目錄下
(如果沒有該目錄,自己建立)

執行註冊: Regsvr32 sqldmo.dll

成功的話會看到 messageBox 顯示 註冊成功。

再來就可以順利執行程式了.

//2011-11-30 追加
註冊方式 說明
--使用Regsvr32 使用者是Administrator 權限時
--使用Gacutil.exe 使用者是一般使用者
(Microsoft (R) .NET Framework 全域組件快取公用程式)

點我檔案下載
附件內容有
1.)gacutil.exe
2.)Interop.SQLDMO.dll

//2011-12-02 追加
若是因為某些 機碼清除工具  清除過後產生的後遺症
或許可以試著 重新註冊 Windows dll 檔案

重新註冊Windows XP 所有的dll檔操作方法:
1.開始->執行 輸入 cmd 按「確定」
2.在命令提示符下輸入下列資料:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
上述指令輸入完畢即可









C# 內崁資源圖檔開啟

爬文看到的,自己實做試了一下。 還蠻簡單的.

1.) FORML.CS(設計)部分要拉一個 pictureBOX1
2.) 把圖檔拉到方案總管裡面,右鍵 建置動作選屬性改成 內崁資源
3.) Code 如下

using System.Reflection; // 內坎圖片的 using



private void Form1_Load(object sender, EventArgs e)
{
Assembly asm = Assembly.GetExecutingAssembly();
string name = asm.GetName().Name;
Bitmap bmp = new Bitmap(asm.GetManifestResourceStream(name + ".111.jpg"));
//載入圖片資源
this.pictureBox1.Image = bmp;
}

2009年2月9日 星期一

遠傳 3.5G 老是斷線。。-2

上次說到 GPRS 連線後的速度,這一次實際上抓圖給各位看...


遠傳官網釋出 連線速度測試。(3K/sec)















下載 Hinet 測速網站提供 20MB 檔案速率(Max 5K/sec)















所以速度還真的不是很理想阿。。

國軍 online

網路上爬文的時候看到的,轉貼

國軍online是一款歷史悠久的網路遊戲,也是我國最多人同時上線的 Online Game,同時約有30萬人次在線。

  它有最穩定的遊戲品質,保證絕不斷線,最遼闊、最真實的地圖,另有100多個大大小小的島嶼地圖等著您冒險。

  最複雜的轉職系統,與各種豐富且冗長的任務內容。

  最刺激的副本、攻城戰及血盟戰等您來挑戰。

  各式精美﹙?﹚武器裝備供玩家使用。

  歷練過這款遊戲的英雄勇士高達上千萬人,且每個月都有源源不絕的初新者加入遊戲,旦凡持有中華民國國民身份證,並屆齡十八至四十歲之男子皆有義務進入遊戲。

  國軍online有著世界上最先進的技術,全3D虛擬實境與杜比環場音效,以及高達百分之百的痛苦度與疲勞度感受回饋,讓初新者們不用頂著大熱天在太陽下排隊買虛擬實境的頭盔,也不用省喫儉用的存錢買遊戲艙。

  我們偉大的遊戲公司「國防部遊戲公司」會為所有初新者,也就是所有即將進入遊戲的初新者準備好一切,提供伙食、用品、財帛……

  初新者只需要攜帶身份證晶卡及各城城主發給眾鄉民的關防證明文件,就可以開始自己的YY之旅了。

  當我從綠衣催狂魔手中收到南投城主大印的「國軍online種族抽籤文件」時,心中除了驚嚇到屁滾尿流外,還是驚嚇到屁滾尿流。

  這代表我即將進入眾多鄉民、宅神前輩所痛恨的遊戲世界。

  這個遊戲的YY程度,只有你想不到,而沒有不可能,裡頭處處充滿驚喜,驚訝腦殘眾多、喜悅原來自己並不笨。

  國軍online每每在電視上、就職博覽會上招募國軍online豪華版玩家,我聽了就想吐口水,什麼「加入志願初新者,未來不是夢!」

  我覺得這口號實在太噁心了,那裡是吞噬、摧毀夢想的大本營,你都成為最卑劣的存在了,怎麼還會有夢呢?

  所以,加入志願初新者的,大部分都沒什麼好下場。

  其實我覺得,剛加入的新手玩家應該不能稱之為「初新者」,而是應該稱呼為「奴隸」。

  而國軍online的宣傳口號也要改成「國軍online並不是每件事情都合情合理,但一定每件事情都莫名奇妙!」

  中國人都說,誠實是一種美德,可是國防部遊戲公司跟詐騙集團沒什麼兩樣,都是先把人騙進來了再說。

  而這個詐騙集團還非常沒有良心,好歹世界最大的詐騙集團微軟及台灣最黑的中華電信詐騙集團都沒有虐待受害者的案例啊!

  我看著眼前蓋著火紅的南投城主大印的文件,幽幽的嘆了一口氣,只恨我忘記去申請「替代役online」或「補充役online」。

  現在可好了!後悔都來不及了。

  難怪人們總是說,後悔的感覺很難受,遺憾的感覺很悲傷,現在我對於這句話很有深刻的體悟。

  各方好友得知我即將登入遊戲,現正在準備遊戲前種族選取時,都拍著我肩膀說「好好抽,祝你抽到海陸族……」

  然後囂張的哈哈大笑離去。

  每個鄉民都知道,國軍online有四大種族,分別為空族、海族、陸族及海陸族,外加隱藏的神祕種族「憲族」。

  種族在遊戲開始前集合眾多鄉民抽選,更增加遊戲的趣味性?

  狗屁啦!

  一開始剛進入抽籤會場的時候,我看到桌上有頂高聳俏皮的巫師帽,心中頓時疑雲滿佈,滿腦子都是問號。

  「哇靠!遊戲公司這麼大手筆,還特地跟霍格華茲借來了分類帽?只是我不想去像是史萊哲林的海陸族,我想去很悠哉的葛萊分多-空族。」我一邊盯著分類帽瞧著,一邊希望分類帽開口唱歌跟我SAY HELLO,這樣我就能跟哈利波特一樣跟它搭起友誼的橋樑。

  「少年ㄟ……你幹麻盯著我的帽子一直看?」這時候走出來一個滿臉橫肉、面煞兇惡的壯漢一把撞開我把帽子滑稽的戴在他頭上。

  我只好摸摸鼻子很糗的找個位置坐好,這時候抽籤儀式開始了。

  我在台下驚的皮皮挫,台上一個個叫號上台抽籤,那種五味雜陳的心情實在不為外人所知。

  眾所皆知,四族之中最爽的空族及最勞累的海陸族,每當鄉民抽到時,都會引起一陣驚呼。

  他人抽到空族,人們怨恨最爽的種族少一個名額,是怨恨的驚呼。

  他人抽到海陸族,人們喜悅最勞累的種族少一個名額,是高興的驚呼。

  我的心情隨著呼叫聲七上八下,在輪到我時,其實心中很平靜,四族之中,到底我為何族?

  「稚氣俠,陸族!」喔耶,心中暗暗鬆了一口氣,排在我前頭那位抽到海陸族,當下痛哭失聲然後暈倒被攙扶出去,害我緊張的要死。

  陸族佔國軍online的大多數,勢力龐大錯綜複雜,聽說是國軍online最黑暗的種族。

  陸族被廣大鄉民暱稱為陸族乞丐軍,其餘種族為海族童子軍、空族少爺軍、海陸流氓軍,憲族神仙軍。

  在這邊,抽到空族的通常都是受到上天眷顧的夜精靈、妖精,像我這種平凡喜愛破壞地球受到上蒼鄙棄的人類,多數都成為陸族。

  種族選取完之後,就是好一陣子的遊戲先前準備,這陣子大部分的鄉民都會到處爬文,詢問各方正在遊戲、或是結束遊戲登出的英雄好漢,該帶什麼、該準備什麼、該做什麼?

  「還好我很鄉,準備的很齊全。」我心中暗自得意。

  遊戲前那種忐忑不安的心情是很煩燥的,本人稚氣俠自認為沒做過什麼傷天害理的大事。

  雖然偶爾幼稚一把外,坐捷運、公車時候都有禮讓老弱婦孺,走斑馬線的時候都刻意等待有無辣妹需要攙扶,平時運氣也不是很差,所以倒是看得很開。

  畢竟我這個幼稚到號稱稚氣俠的俠之大者,修養可是超出一般鄉民許多的。

  可是,我卻沒想到,登入遊戲卻是我厄運的開始。

  在登入遊戲的那個早晨,父親懶洋洋的半臥在客廳的椅子上,我沮喪的表情讓父親覺得很逗,他決定在我登入遊戲前好好的嘲笑我一番。

  「要出去了哦?早餐要不要吃個饅頭?」父親用著關懷的口氣問道。

  我心中實在幹的可以,連3歲小孩都知道登入國軍online需要吃一整年的饅頭,今天還叫我吃饅頭?有沒有搞錯……

  各位客倌阿,一整年誒!365天扣掉假日也得吃掉上百顆饅頭,這時候還叫我吃饅頭,分明是討罵嘛!

  可惜,他是我老爸,我只能不理會他的挑釁,忙著用通訊器跟眾多女孩一一拜別,我覺得我心情很悽涼。

  有一種風蕭蕭兮易水寒,壯士一去不復返的感慨。

  這時候我覺得我很像荊軻,但是卻沒有人為我擊築喝采,我要一個人獨自出征。

  所謂「大將南征膽氣豪,腰橫秋水燕翎刀。」我沒帶刀更不是大將,所以我是膽小鬼……

  膽小鬼膽小鬼膽小鬼……

  我不知道我到底是捨不得大家,還是怯步於登入國軍online這件事情。

  或許,兩者都有吧?我搞不太清楚。

  我帶著準備好的空間袋來到了集合的地點,遊戲公司特地為各位準備告別死老百姓的初新者準備了龍貓公車。

  大夥都不是第一次搭龍貓公車,心情到是不見得多緊張,只是龍貓公車到達的地點「中坑新手村」,這就很令人緊張了。

  這個新手村位在嘉義城,從我們南投城過去以龍貓公車不知道幾百匹的馬力,要2個多小時,途中我們還會去接隱居深山大澤裡面的老百姓。

  一群人在龍貓公車裡面實在很聒噪,我知道的,我們這群鄉民是在企圖掩飾心中的不安與徬徨。

  大家都很鄉,嘴巴開始說自己的朋友、網路上看到的消息,說初新者訓練如何如何,說新手村的長官如何如何。

  這些口頭上嘴砲只是企圖讓別人以為自己一點都不懼怕當兵。

  我無聊撐著頭冷眼旁觀,看著飛逝而過的風景,離嘉義的新手村越近,我的內心就越沉重,這時候公車裡面的音量也小了,大家都有一個好似走進阿茲卡班的恐懼感。

  我在剛上龍貓公車的時候就巧遇國小同學林坤弘,看到他跟我同一期進入萬惡的國軍ONLINE我很高興,至少里面還有一個認識的人,進去或許可以互相扶持照顧,打怪解任務也比較不孤單。

  當來到新手村大門口的時候,按照慣例要填姓名及帳號密碼。

  我們一群鄉民緊張的很,網路遊戲大家都不是第一次玩,帳號密碼這種小CASE不放在我們眼裡,只是你填帳號密碼的時候兩旁穿著草綠色的迷彩服一直鬼吼鬼叫,實在令人緊張。

  登入「國軍ONLINE義務役1.0正式版」。

  「快輸入帳密!搞甚麼東西!他媽的!」剛進入新手村大夥就被一個瘋子高八度音的吼聲嚇著,我手腳並用迅速輸入帳密,以免發生不測。

  帳號906R5B3C

  密碼2030T1121

  這時候我仔細觀察眼前這個穿著迷彩服,一副天大地大老子最大的下士騎士,他說他暱稱是班長,官階是下士騎士,跟我們這群初新者是不同的。

  像我這們群死老百姓轉職的初新者,通過層層的考驗出新手村的時候,會得到二兵賤民的稱號,再過半年會得到一兵平民的稱號。

  而豪華版的志願役甚至可以得到上兵公民的稱號。

  不管我們是甚麼背景,都不能弗逆來自騎士的命令。

  下士騎士是騎士當中等級最低的,他們往上升級轉職還有中士黃金騎士、上士皇家騎士、最高等級的士官長神聖騎士。

  管這些騎士的則是帶著爵位的老爺們,從最低等的少尉勳爵、中尉男爵到上尉子爵。

  然後接著才是統治階層的少校伯爵、中校侯爵、上校公爵,還有最頂端的享受階層少將王公、中將親王、上將國王。

  當然在新手村最大也才一個公爵,那些什麼王的像我們這些等閒賤民、初新者是看不到的,電視魔法設備上看到的例外。

  剛進來就被騎士下馬威,很多人都很不爽,我很想跟他說「老子只是來打醬油的,關你屁事哦!」

  可是我怕別人都收到「回家捲軸」的時候,我還不能登出遊戲被卡帳號。

  這樣就他媽的太糟糕了,所以我只能當作這個騎士大人汪汪叫,我沒聽到。

  騎士大人領著一群鄉民進入大觀園!?

  一路上樹林成蔭,冷風颼颼,我覺得我們這群人好像是牛頭馬面帶路要去枉死城酆都的冤魂。

  說真的,我挺冤枉的,簡直是比竇娥還冤啊!我明明量體重的時候加減乘除下來BMI都不到16,為什麼體檢單出來會是18?

  「哦……不!」我內心哀嚎著。

  「他媽的!是在慢吞吞個什麼勁!你們他媽的不會走快點是吧?」騎士大人的一陣怒吼,全部鄉民拎著包包用小跑步的往他手指的方向跑去。

  我這時候注意到,這個騎士很喜歡說髒話,講話沒有他媽的穿插其中好像會變成啞巴似的。

  可是,在這個陰風陣陣的新手村,我不敢聲張,可是我也不想用跑的,笑話,所謂欲速則不達,這個道理我是懂得。

  跑那麼快,第一個到達所謂的步五營兵器連一定沒啥好事情,搞不好還要幫後面的鄉民辦事。

  話說,從進來的這一刻,其他的鄉民都變成友軍、鄰兵也就是通稱的同梯,這是新手村定的規矩還是遊戲公司訂的我不太清楚。

  但是我知道很少有人喜歡這款戰略遊戲,但是身體沒殘缺就得進來的規定讓所有鄉民都很度爛,還好今年遊戲公司比火箭隊還慈悲,特地把一年八個月的役期改成一年。

  真是佛心來著,等我下線的時候遊戲公司要是再度改回兩年我會更歡喜!

  我一到達新手村我報到的五號旅館前面,就有NPC組織我們一群奴隸,像是串蘿蔔般的叫我們一群人排好、排整齊。

  眼前寫著「中坑精北營區步槍兵第五營兵器連」的旅館匾額小小的,要不我眼尖還發現不了。

  我們這一個月即將在這個新手村的第五間旅館度過,旅館的主人是個年輕的伯爵,當然我們是看不見的,這些都是騎士說的,這個騎士叫做吳俊彥,他說,那個很喜歡說他媽的長的矮矮胖胖、圓滾滾像是郝劭文的騎士叫做林坤達,是我們旅館騎士中比較和藹可親的。

  我聽到嚇了一大跳,這麼樣子還算和藹可親,那凶狠的不就吃人了?

  「呵呵」吳俊彥騎士嘴角牽扯一道神秘的笑容,讓人不寒而慄。

  「大家好,我是皇家騎士蔡建勳,你們要記住我的名,以免下了地獄還沒辦法向閻羅王告狀,呵呵……」蔡建勳是這間步五營兵器連旅館唯一的皇家騎士,資格之老連子爵連長都得讓他三分。

  大家在下面排隊的時候嘻嘻哈哈的,根本就不怎麼甩他,我冷眼旁觀這一切,雖然站的不是很直,但至少沒有白痴的逗來弄去。

  「他媽的B,幹,全部立正!」一聲霹靂驚四方,所有的人被氣勢如虹的皇家騎士大絕招獅子吼打到,全部的人當場石化。

  我覺得有人一定狂噴血,還好沒有人當場被秒殺抬出去,我雖然自信敏捷高智慧高,可是也沒把握打的過發著金光的皇家騎士,所以我跟其他奴隸一樣被石化定住。

  接下來一陣好戲,許多剛剛邊吵邊玩跟幼稚園小朋友一樣歡樂的奴隸被抓出去PK,當場做了許多高難度的武技,累的是那個喘啊!

  我很慶幸剛剛很識相,難怪進來之前總有人說「不打勤,不打懶,專打不長眼」是騎士的職責。

  所以,不長眼是這個遊戲的大忌。

  這種團體軍訓生活我在國中的時候練得駕輕就熟、爐火純青,私立學校的舍監變態的狠,想當初我國中還在舍監的寢室看過一張珍重護貝的照片,裡頭是舍監陪伴著已故總統蔣經國先生的閱兵照片。

  那時候舍監肩上的那個梅花可閃亮的狠,要是放在古代那可是禁衛寵將啊!

  話說就算現在說甚麼都沒有用了,既來之則安之。

  操完這些調皮的王八蛋,皇家騎士又開始了他的命令。

  「現在,所有的人,按照鄉鎮排列好,我們會賦予各位一個數字,從今天開始,在這邊,你們沒有名沒有姓,只剩下一串編號,啊是聽懂了沒有!」皇家騎士說著說著,最後一句忽然加重音並且衝到一個奴隸面前使出獨門絕學獅子吼,當場把那個奴隸嚇得剩下一絲絲血皮。


我們一群初新者你看我、我看你,最後按照高矮順序排好,排在排頭的都是天龍特攻隊的,身高沒有190也有180,我這個167的只能在後面苟延殘喘。

  「稚氣俠,我們排在一起好不好?」有一個長的超像陳水扁的鄉民擠來我旁邊,將林坤宏擠走,整個就是很惡霸,讓我很反感。

  「同性戀可以來當兵嗎?」我看著旁邊這個戴眼鏡的小陳水扁,一直將旁邊的鄉民擠走,心中直冒冷汗。

  我雖然說不上玉樹臨風,但也是白白淨淨的玉面小生,他該不會是BL吧?

  我很恐慌、很不爽、很度爛,所以表情很不安。

  為什麼?

  因為我討厭陳水扁,而且剛好「蒼天已死、紅衣當立、歲在雙十、天下圍攻」這個活動結束沒多久,我看到鄰兵長相不憤慨才怪。

  皇家騎士才不管你三七二十一還是二十二,他從第一排開始點,一排4班,我是第二排第一班,也就是第5班。

  「你,他媽的就是63號。」皇家騎士一指,我頓時有被六脈神劍打到的感覺,他媽的威力太強了,害我差點軟腳。

  嗚嗚嗚,從今以後我要捨棄稚氣俠的名,只能當一個編號063的狗。

  林坤宏65號,我跟他隔1號,讓我有種遺憾的感覺,但是當晚上的時候這分感覺卻變成慶幸。

  接下來就是安全檢查,所有人被下令將背包裡面所有東西倒在地上,整個地上琳瑯滿目,讓我目不暇給。

  我的衣服有暗袋,雖然6*6空間袋裡面的零食都被搜刮走,我暗藏在衣服裡面的2*2空間袋卻是滿滿的巧克力。

  檢查完剛好下午3點,所有的人都必須將頭髮剃得一乾二淨,代表去除所有死老百姓的痕跡。

  人活在世代表的就是姓名、衣服、頭髮還有外表這4種,姓名剛剛被去掉了,頭髮現在也要被去掉,衣服這種身外之物我很有覺悟的待會也會被去除。

  這裡將會沒有你的靈魂,只有一串數字,一具行尸走肉的軀殼。

  我們3個排分個兩個部分,第一部分剃光頭,第二部分領裝備,就是海報上面那嶄新精美的裝備。

  這邊要跟各位鄉民說一下,新手村發的裝備耐久度都很低,一不小心裝備就會毀損,因為這些裝備都是遊戲公司回收的23456789不知道多少手的裝備,很骯髒也很噁心。

  我被分到第二部分,首先要領的是臉盆,臉盆大家都是新的,大家可別小看這個臉盆阿,他可是攻擊力與防禦力都高達10的裝備,比起旁邊那堆跟山一樣的新手村特製版迷彩服來說,還高上10倍。

  「幹!他媽的B,是在慢慢挑什麼,哩系逛百貨公司歐!」皇家騎士蔡建勳從門口衝進來,就是獅子吼加六脈神劍。

  正在我面前兩公尺處脫褲子的064一陣緊張,當場被劍氣打中,倒在地上驚天動地的放了個屁「噗~」

  原諒我很不講江湖道義的笑了。

  「你看陳水扁被蔡建勳嚇到還放屁誒。」我戳了戳排在我後面的林坤宏說。

  「噓,魔王蔡在發飆,待會再講辣。」林坤宏眼觀鼻、鼻觀心的保持著鎮靜,但是嘴角隱隱牽動好像忍的快要得內傷,很可憐。

  「幹,他媽的B咧,拎老師夠誒棒臭屁。」皇家騎士看到眼前這一幕,哭笑不得的轉身就走,我覺得他應該回到他們的秘密基地狂笑吧?

  這時候監督我們領裝備的就只有林坤達還有吳俊彥、兩位不知名的騎士,整個氣氛很歡樂,大家都賊賊的笑著。

  「拍謝拍謝,攏係嘿咧班長害地。」064摸摸頭,爬了起來一點也不會不好意思的說道。

  這句話讓我很是欽佩啊,放了屁之後還一點都不會不好意思的非此君莫屬。

  為什麼?

  因為陳水扁也不會不好意思啊。

  這時候我終於體會到了國小生物老師的教誨「樹無皮必死無疑,人無皮天下無敵!」

  從來沒有任何一天讓我對這句話有這麼深刻的體悟。


前面領精美裝備領的很歡樂,由於這些迷彩服都是上古傳承下來的神器,所以破舊甚至毀損這是在所難免。

  誰聽說過上古傳承的神兵利器是嶄新來著的?遊戲公司都騙人啦,什麼十大神兵,拿出軒轅劍來跟我家的菜刀比比看阿。

  我就不信我家的金門菜刀會輸給軒轅劍。

  話題轉回眼前這些鄉民,有些人很……原諒我想不出任何形容詞來形容他們,大部分人試size是脫下褲子穿上迷彩褲,前面有好幾位仁兄連內褲都脫下來,雷倒了一片人。

  小弟從小到大隻看過女人裸體,看東瀛迷片的時候都會忽略赤裸醜陋的男人裸體,第一次看到有人試褲子連內褲都扒下來,臉上佈滿黑線。

  有些騎士想大聲斥責,卻又害羞的轉頭,臉紅紅的跑出去了?

  我心中一陣擔憂。

  「他們……該不會是BL吧?」我暗自冒著冷汗。

  領取的隊伍緩緩的向前進行著,終於輪到我了!

  跟入門的NPC對話確認編號後,領取得到一個嶄新的臉盆、兩雙漆黑防禦0的襪子、兩條白色毛巾、一個攻擊力1的鋼杯、兩條防禦2的白色三角內褲,上述東西遊戲公司很有佛心,並沒有拿前輩的回收再度利用。

  接下來領的就是個人服飾裝備了,在緊迫的時間內我要挑選出適合我的迷彩服四套、運動服兩套、然後試防禦率4的白膠運動鞋及迷彩操課鞋尺寸。

  還好小弟入伍前在運動用品店擔任員工長達一年多,衣服及鞋子的尺寸被我修練成功的「偵查術」一看,立刻一目瞭然。

  我用著極快的速度搶奪著適合我身材的迷彩服及運動服,由於前輩傳說迷彩服很容易髒、被偷,我用迅雷不及掩耳的速度「拿」了五套迷彩服、三套運動服,我的手腕旁邊泛起一陣陣華麗的光芒,我用我練了一年多的摘花折梅手迅速將衣服折好疊在臉盆上,帶著從容的笑意離開。

  水扁兄在我前面三位,當我在最後一關要跟NPC報說我要穿的鞋子尺寸時,他還在試衣服,更驚人的在後頭……

  「063,你要幾號鞋?」NPC不耐煩的問著我。

  「我……我……」我驚訝的說不出話來,手指著NPC斜後方驚訝不語。

  「你什麼你!趕快說!搞什麼鬼!」這位不知名的騎士NPC轉過頭去,嚇得罵了句髒話。

  「他媽的B咧,會不會太誇張?」只見騎士大人整個臉都黑掉了。

  只見水扁兄脫掉內褲,竟然在試穿剛剛發的白色三角褲,後頭的人目瞪口呆,我想,應該雷倒了很多鄉民。

  我瞥了一眼,就立刻掉頭選了我要的尺寸,摟著整堆裝備走出去,實在太不堪入目了……

  一路上我還唸著「阿彌佗佛……罪過罪過。」

  領完裝備要在旅館前的空地,大家皆稱之的「連集合場」排隊等待去除三千煩惱絲。

  我已經做好萬全的準備,昨天特地跑去台中找認識多年的辣妹設計師小妞將我理了個大光頭。

  我還依稀記得她這樣跟我說的。

  「哈哈哈,要當兵了!阿兵哥呷饅頭呷得牙齒黑溲溲。」這樣的恥笑讓我很台不起頭。

  言猶在耳不見人,聲容宛在耳邊縈。

  我很是感慨,一邊排著隊等帶著剪頭髮,當輪到我的時候,我才知道為什麼破關的英雄都說,入伍前就要剪好頭髮。

  那髮婆的電棒幾乎跟電腦裡面的CPU一樣熱,而且時間緊迫,每個人剪的時間不超過三分鍾,我看很多沒做功課的鄉民、想保持帥氣長髮的蟀鴿,最後剪完頭髮時候,HP血量都不超過10。

  很可憐「所謂工欲善其事,必先利其器」,這句話不是要說給那些髮婆聽的,而是沒做好準備進來的鄉民,他們就只能帶著萎頓的表情殘破的身軀,滿頭都是血的入列。

  「他媽的這到底有沒有愛滋啊?」我看隔壁髮婆那把不知道被點到加幾,附魔幾百次現在卻飽飲紅血的理髮電棒,心中一陣膽寒。

  我的頭髮極短,髮婆意思意思在頭髮上空揮舞幾下,就收手而歸,換下一位奴隸來,我繳交了30元,卻交的很是雀躍。

  「還好沒碰到那血跡斑斑的武器,不然會不會被感染,遊戲公司也不敢做保證吧?」我心中一陣得意。


我雖然沒有剪到頭毛,可是還是得幫前面的林昆弘把他頭上的煩惱絲弄乾淨,我爽快的替他倒上些爽身粉,拿起髮婆準備好的烤肉刷,將林昆弘的頭髮撥弄乾淨。

  還在剪頭髮的水扁兄,我到現在還不知道他叫什麼名字,他一直重複大喊著「63號63號等等幫我撥頭髮!」

  我假裝沒有聽到,剪完頭髮趕緊跑回旅館前空地坐下來枯等。

  果然沒錯,那傢伙喊沒幾下,皇家騎士倐地忽然不知道從哪個陰暗的角落一竄而出,一個排山倒海的翔龍十八掌就賞在水扁兄的腦袋上。

  「閉嘴!你他媽的是長胸部還是沒雞雞!吵吵吵,哩係紮沒郎歐!哩娘咧。」皇家騎士一陣不知道哪部經書的咒語把所有的人嚇得一聲不吭。

  「我覺得他現在一定超恨皇家騎士而不是恨秋意。」我為此下了個註解,旁邊的人都不敢應和我,大夥默默的點了點頭。

  像陳水扁的64號頓時被打的焉了,他剪完頭髮,由林昆弘幫他把頭髮弄乾淨,他就站在那邊等他下一位。

  那是一個頭髮很日系的猛男,我剛進來新手村的時候就很注意這號人物,這廝膽子很大,再這一片出家的祥和光海中,他一個人比梁鶴群還要鶴立雞群,頭髮造型跟傑尼斯那些人有的拼。

  「他媽的B咧,他以為他是視覺系還是在拍太空戰士8?哩娘咧。」皇家騎士恨恨的罵了句,那個很不鄉的帥鴿還狠狠的瞪他一眼。

  「哇靠,那傢伙膽子還比孫悟空還要大!」旁邊不知道哪一班的小小聲的說著。

  我也深有體會的點頭,我估計,不出幾秒,這傢伙定要吃苦頭,63號很傻很天真的在旁邊拿著烤肉刷上下飛舞,好像在趕蚊子,沒人注意到他。

  戰役,一觸擊發。

  「啊啊啊啊啊……痛痛痛啊吼嗚伊哩嚕晡……嗚嗚嗚……」髮婆嘴邊盪起溫柔的笑意,讓所有剪完&未剪完的弟兄看得膽顫心驚。

  或許,當年扮成小紅帽奶奶的大野狼也是這樣笑的?

  那帥鴿刻意抹上髮臘的髮型中間一片狼籍,那樣子就好像德軍當年的坦克大軍輾過巴黎凡爾賽宮玫瑰園的籬笆,畫面是那麼的血腥殘暴透露出一絲絲的悲悽。

  嗯,是悲悽,不是北七。

  在這個網路遊戲中,如果你不能對自己狠,別人就會對你更狠,這句話不知道哪一個修成正果的前輩悟到的。

  我覺得很有道理,那個視覺系男人一吼之下驚天動地,皇家騎士早就準備好一條不知道從哪來的黑色布塊從旁邊塞進去他的嘴巴,嘴角牽起一股怵目驚心的笑容。

  初新者訓練,萬惡的遊戲公司下令給所有的新手村,務必狠狠打擊所有初新者的氣焰。

  這種規矩,只要腦袋不像是地球一樣臭氧層破洞,應該都知道才對啊?

  我很狐疑,怎麼會有人去挑戰遊戲公司呢?

  「這傢伙是不是米蟲online玩太久還是腦袋有什麼隱疾之類的?」後面一個不知道是誰的推了推我的後背,悄悄的問我,我偷偷轉頭小小聲的說不知道。

  他哭了,我笑了,我在走進新手村之前,聽說過很多遠古的傳說,只要有人被盯上,那代表你的日子會好過一點。

  我想,我今後的日子有這些英雄前仆後繼的挑戰騎士的威嚴,我就當個安分的螻蟻吧!

  所謂螻蟻尚且偷生,這好好的人不做,有人要去當畜牲然後以為自己是英雄是救世主,那就莫怪我們把他們當成墊腳石了。

  「做人要做博客來,別做墊腳石。」母親從小總是這樣教誨我的。

-------------------------------------------- 以上


以上文章轉貼自 雅瑪文閣 ,是一個追小說的好地方,我也常去爬文

http://220.228.153.69/novel_board/boardw.asp?b_id=59690



2009年2月6日 星期五

C# 讀取Excel 欄位-2

因為還沒找到 如何將 文字、數字 正確讀出的方法,所以換了一種做法,
利用 dataGridView 來做處理。



















using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; //有使用到SQL
using System.Data.OleDb; //有使用到Excel
using System.IO;


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)
{



if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
FileInfo fi = new FileInfo(openFileDialog1.FileName);
if (!fi.Exists)
{
MessageBox.Show("匯入檔案並不存在", "注意", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties='Excel 8.0;IMEX=1;'";
OleDbConnection Conn = new OleDbConnection(strConn);
try
{
Conn.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}

try
{
DataSet ds = new DataSet();

DataTable dt = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
if (dt.Rows[0]["TABLE_Name"].ToString().IndexOf("$") < 0)
{
dt.Rows[0]["TABLE_Name"] += "$";
}
string strSelect = "Select * From [" + dt.Rows[0]["TABLE_Name"].ToString() + "] ";
OleDbDataAdapter da = new OleDbDataAdapter(strSelect, strConn);

da.Fill(ds, dt.Rows[0]["TABLE_Name"].ToString());
da.Dispose();

ds.Tables[dt.Rows[0]["TABLE_Name"].ToString()].Rows.RemoveAt(0);

dataGridView1.DataSource = ds.Tables[dt.Rows[0]["TABLE_Name"].ToString()];
label1.Text = ds.Tables[0].Rows.Count.ToString(); //取得資料比數
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
Conn.Close();
Conn.Dispose();
}
}

C# 讀取Excel 欄位

其實主要要做是將 Excel 內容讀入到 資料庫(SQL),可是因為 Excel 表格並不是統一的
所以再讀入 SQL 之前,必須要先處理過。

目前第一步 試著將 Excel 讀入到 C# 表單內,以供後續處理。

//讀取 C:\qq.xls 檔案內資料至 MessageBox
listBox1.Items.Clear();
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\qq.xls;Extended Properties=\"Excel 8.0;HDR=NO\"";
//HDR 是用來判斷 Excel 第一欄標題
OleDbConnection cn = new OleDbConnection();
cn.ConnectionString = sConnectionString;
cn.Open();

string sSQL = "SELECT * FROM [Sheet1$]";
OleDbCommand cmd = cn.CreateCommand();
cmd.CommandText = sSQL;
OleDbDataReader DR = cmd.ExecuteReader();
while (DR.Read())
{
listBox1.Items.Add(DR[0] + "," + DR[1] + "," + DR[2]);
}

cn.Close();

目前遇到的問題是,如果 Excel 內容裡面有包含 數字、文字 時(同一行)
那麼會沒有辦法讀出 數字。。 目前正在想辦法。。


下面這種寫法跟上面的一樣....只是換了不同敘述而已
也不能解決 文字和數字 並存。。。
//讀取 C:\qq.xls 檔案內資料至 MessageBox
string path = "c:\\QQ.xls";
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + path + ";Extended Properties='Excel 8.0;HDR=NO'";
OleDbConnection objConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$] ";
objConn.Open();

OleDbDataAdapter objCmd = new OleDbDataAdapter(strCom, objConn);
DataSet objDS = new DataSet();
objCmd.Fill(objDS);
objConn.Close();

for (int i = 0; i < objDS.Tables[0].Rows.Count; i++)
{
//listBox1.Items.Add(objDS.Tables[0].Rows[i][1].ToString());
listBox1.Items.Add(objDS.Tables[0].Rows[i][0] + "," + objDS.Tables[0].Rows[i][1].ToString() + "," + objDS.Tables[0].Rows[i][2].ToString());
}

2009年2月5日 星期四

遠傳 3.5G 老是斷線。。

話說 上個月跟同事聊天,談到網路的事情,由於我外出工作 家裡面辦了Hinet 2M ADSL
一直閒置著,每週回去才弄一下,心理是覺得有點可惜。。

剛好說到 3.5G 網卡,週末回去以後 馬上就跑去辦了。

我申請的是 遠傳吃到飽 775 + 7-11 禮券 1000 的案子,搭配 HUAWEI E219 型號。。

兩年約。。 -__-|||

以我個人使用 1 個月的經驗來看,跟 2M ADSL 來比,開網頁的時候會有點頓頓的,
使用 HINET 網站下載測速約是 50K~130 K (130K 算是 Peek 啦,再來沒有更高了).

曾使用的紀錄:
台中 西屯區 HSDPA (3.5G訊號)
桃園 機場附近 WCDMA (3G訊號)
宜蘭 羅東 GPRS (2G訊號)
花蓮 光復糖廠 GPRS (2G訊號)
台東 知本溫泉 GPRS (2G訊號)
高雄 岡山 HSDPA (3.5G訊號)
彰化 鹿港街上 WCDMA (3G訊號)

其實遠傳官方網站 有各地方涵蓋率可以查詢的,不過 上述都是我親身體驗。。
基本上 你看到GPRS 就可以把電腦關機了,連 Yahoo 首頁 都能開到斷線了

再來就是,如果看到 HSDPA 訊號。。也不用太高興。。

下圖是正在下載的截圖。。(都有 3.5G 訊號了,速度竟然才 7X K....真是無言!
所以,奉勸各位有想要辦理 3.5G 網卡的人,請先 "試用看看" 不然會後悔死!

2009年2月2日 星期一

list index out of bounds(3)問題發生如何解決?

最近執行 System Process 時,發現會有錯誤訊息跳出。

list index out of bounds(3) , 主要發生原因是系統啟動時有空索引

網路上爬了一下文,找到了解決辦法。

開始-->執行-->Msconfig


果然找到了最後一行有空的執行啟動項目。
將 勾勾 取消,重開機果然沒再發生了。