希夏普2020的程式天地破10萬人次瀏覽了

 

C Shop BLOG破10萬人瀏覽

本部落格瀏覽人次突破10萬人次瀏覽了

 

  我的部落格希夏普2020的程式天地主要是介紹程式設計和寫一些職場文章,並沒有很認真經營,結果都還是有不錯流量,常常單日瀏覽人次超過100人,而我其實很少po文,最近這個部落格已經突破10萬人次瀏覽了,如果往回推算的話突破10萬人次瀏覽的時間是在4/26那一天。最近工作比較忙,所以不常更新,但還是謝謝大家的支持,也希望大家多來我的部落格留言,並且分享出去,想要學程式設計的人歡迎來看我的部落格,也歡迎多給我一些意見,謝謝大家。


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

ADO.NET程式和資料庫連接的三大步驟使用C#

 

ASP.NET Webform網頁要和資料庫連接時常用的方式為ADO.NET,使用ADO.NET連接資料庫會有下面的三大步驟。

1.連接資料庫

2.執行SQL指令

3.自由發揮

 

這三大步驟的內容如下:

1.連接資料庫

設定資料庫的連線字串,和資料庫做連接。

2.執行SQL指令

SQL指令分2種,一種是Select單純只是取出資料,另一種是會更動資料,像是「Update、Delete、Create」這些指令。

3.自由發揮

在這裡就看需要資料庫的資料做甚麼,可能是把資料取出來放到GridView裡面,或是列出資料表某一欄位所有資料。

 

其實最後還有一個步驟是關閉資料庫,但是我在程式中使用using就會自動關閉,就不需要再做關閉的這個動作了。

 

以下程式就是我使用C#程式語言,用ADO.NET的三大步驟和資料庫連接:

在程式最前面要引用這2個東西:

using System.Data.SqlClient;

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

C#要如何引用Web.Config的 connectionString?

 

    在做ASP.NET網頁設計時常常會需要用到connectionString,需要用到connectionString時比較好的做法是去引用Web.configconnectionString,今天就來教大家ASP.NET使用C#程式要如何引用Web.configconnectionString

 

    首先在Web.config檔案裏面加入下面這串程式,這裡要注意MVCWeb.config2個,這裡不是改在View資料夾裡面的Web.config,是要改不在資料夾內的那個Web.config。在View資料夾裡面的Web.config只有View會用到而已,而直接放在專案下面的Web.config大家都能用到,我想這個應該也滿好理解的。

 

<connectionStrings>

   <add name="connstring" connectionString="Persist Security Info=False; Integrated Security=true;  Initial Catalog=你的資料表名稱; Server=你的資料庫路徑; User ID=帳號;Password=密碼"     providerName="System.Data.SqlClient"/>

</connectionStrings>

 

    這邊其實如果有設定Integrated Security=true的話SQL Sever就可以用Windows驗證不需要帳號密碼,這樣的話User IDPassword2個是可以刪掉不用輸入的。

 

然後在C#的程式中,先引用System.Data.SqlClient,程式如下:

using System.Data.SqlClient;

 

然後輸入下面的程式:

 

private readonly string cnstr = System.Web.Configuration.WebConfigurationManager.

ConnectionStrings["connstring"].ConnectionString;

 

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

電腦資訊相關的好站大集合

 

    喜歡玩電腦或是做資訊相關工作的人需要常常上網吸收新資訊,多多充實自己的電腦知識會對自己會很有幫助,介紹幾個電腦資訊方面必看的實用網站給大家。

 

ITHome

這個網站我有介紹過,上次我介紹程式設計師必看的網站有跟大家推薦,其實只要是做資訊相關工作的人可能都看過這個網站,裡面真的很多電腦資訊方面的文章,有很多是資訊方面的新聞,而且每天都會更新,ITHome是一個很大的網站,做資訊工作的人都應該要來看看這個網站。

 

免費資源網路社群
這是一個以免費為主題的網站,裏面包含了大量的免費軟體和圖庫素材,也有WordPress架站和程式教學。

 

阿榮福利味

相信很多人都有看過這個網站,這裡面提供大量免費軟體,這都是站長阿榮有測試過的,裡面真的是各種軟體都有,喜歡玩電腦的人一定要看這個網站,保證讓你收穫滿滿。

 

軟體玩家

軟體玩家站長阿正老師在某公立高中教電腦,他玩電腦已經三十幾年了,在這個網站中介紹了大量的免費軟體,並且也都有詳細的使用說明,喜歡玩電腦來這裡找免費軟體就對了。

 

電腦玩家

電腦玩物站長 Esor (異塵行者)在這網站中介紹了很多好用的軟體,並且說明了軟體背後的數位工作思惟和方法,而且這個網站不是只有介紹軟體,裡面還有教大家時間管理和筆記術,站長的專業很廣不是只有在電腦領域而已,這個網站的內容非常精彩。

 

海芋小站

波羅、希夏普2020 發表在 痞客邦 留言(1) 人氣()

 

網頁設計文章總整理

 

   我的部落格以介紹程式設計為主,最近陸續寫了幾篇物件導向程式設計的文章,之後又寫的網頁設計相關的文章,整理如下:

 

網頁資料儲存方式 Cookie、Session


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

非本科系做程式設計工作

 

    我是一個畢業後已經工作10年的程式設計師,其實我並不是本科系畢業,我大學和研究所都是讀物理系,一畢業就做程式設計的工作,我的程式設計大部分都是自學的。

    其實非本科系出身我覺得還是可以做程式設計的工作,只是需要花比較多時間,有時間的話要多看書學習,你可能也無法跟別人一樣準時下班,總是要比別人花更多時間,如果這是你有興趣的工作,這些都值得。我現在的公司其實也有另一個工程師大學也不是念這個,他現在跟我一樣做網頁的工作,大學讀企管系畢業,也是需要花時間學習,我覺得肯學習的話都不是問題,讀到大學畢業應該已經有自學能力了,研究所畢業自學能力應該會比大學畢業還要好,只要肯努力,非本科系畢業做程式設計工作其實是可以的,只是需要比別人更辛苦就是了,好好努力就一定可以。

 

 


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

用Chat GPT輔助寫程式真好用

 

    現在Chat GPT很流行,大家都在用,他可以幫忙做很多事情,連寫程式都可以,但Chat GPT給的資訊不一定會是正確的,要自己核對,所以Chat GPT目前都還是輔助為主,無法真的取代人類的工作,但是說真的現在的Chat GPT已經夠厲害了,學生偷懶不想寫作業真的就可以用Chat GPT幫忙寫。

   以下就給大家看幾個Chat GPT的程式範例:

 

螢幕擷取畫面 2023-04-03 160159

    真的很滿好用的,這一段是正確的HTML語法,出來的結果如下:

歡迎您申請非學校型態實驗教育

系統產生預設密碼為:wH8ERK

請務必於20分鐘內點擊以下連結進行驗證。

前往高級中等以下教育階段非校型態實驗教育

(如無法點選,煩請將下列網址複製到瀏覽器網址列開啟)

https://www.school.edu.tw/

 

    但是並不是每次Chat GPT的語法都會是正確的,像是我問他用C語言寫99乘法表的問題,結果回答的亂七八糟。

螢幕擷取畫面 2023-04-03 160248

    這個根本就不是正確的99乘法表,他只完成一半而已。

    有一些很簡單的程式確實可以用Chat GPT來幫忙完成,例如我要寫一個從1加到100的程式,這種很簡單的程式Chat GPT就可以回答的很好。

螢幕擷取畫面 2023-04-03 160436

 

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

遇到討厭的事情也要想辦法克服困難,就像練習戴口罩

 

    口罩令終於在今天鬆綁了,12/1開始室外不用戴口罩,相隔了555天才終於解禁。

    對我而言,其實我是很討厭戴口罩的,但是我現在出門竟然是戴N95口罩,然後外面再加一個醫療口罩,這樣戴防護效果好,但是當然會很不舒服,但如果戴久的話感覺會比較好,平常都沒有在戴N95的人長時間戴N95一定會覺得很悶,我已經戴N95很長一段時間了,所以就不會那麼嚴重。我也並不是外出一直戴著N95,如果是在室外的話就不一定是戴N95,在會議室需要講話時絕對不會戴N95,在公司我也只有戴一般的醫療口罩,但出去玩待在室內空間的話,大部分都戴著N95,坐公車和捷運絕對戴N95,現在室外可以不用戴口罩了,但是我大部分時間都還是戴著口罩,而且大家可能很難想像,早在第三級警戒之前我就已經開始戴口罩爬山了,那時候甚至我在家裡都還在戴口罩,為什麼這樣呢?原因是要練習戴口罩

   對我而言,戴口罩的影響比一般人要來的更大,早在SARS的時候有一次我去找學校輔導老師諮商,那時候好像是學校已經有人被隔離了,所以輔導老師給我一個口罩戴上,那時候夏天戴口罩講話覺得非常不舒服,SARS期間大概只有捷運強制規定要戴口罩,所以那時候戴口罩對我的困擾很小,結果現在COVID-19到哪裡都規定要戴口罩,這樣子真的是慘了,戴著口罩我講話就會變得很困難。我印象中疫情剛開始的時候,室外都不用戴口罩,但是到了室內很多地方在門口都貼告示要戴口罩,那時候我戴口罩講話就很痛苦,我戴口罩講話大概只能持續半小時,如果要講超過半小時要繼續講就會講不下去,時間再長一點的話就變成連講一句話都非常的痛苦。

   台灣疫情算是控制得很好,所以後來在室內也沒有一定要戴口罩,在公司戴口罩上班的人很少,本土零確診的那段時間室內很多人都沒有戴口罩,因為都沒有疫情,所以可以很放心,但後來我就遇到了一個難題,也讓我開始練習戴口罩,那就是面試

   大約2年前我正在找工作的時候,那時候面試戴口罩對我來說非常的痛苦,其實那時候本土的病例很少,不太需要戴口罩,政府有規定八大類場所要戴口罩,經勸導不聽者可以開罰,但因為疫情控制得很好,人少的地方你也沒看到大家就一定都戴著口罩,但台灣人國民水準是很高的,人多的地方不管室內室外大部分的人都戴口罩。本土病例那麼少,我也就沒有一直戴著口罩,我也真的是很討厭戴口罩,如果真的是有需要戴口罩的場所,我都一定是到門口了才把口罩給戴上,例如去醫院或是銀行,戴口罩對我來說很不舒服,我戴口罩的影響比一般人要來的更大,不但講話比一般人更容易喘,而且戴上口罩馬上精神變差,注意力也變得不集中。2年前面試的時候政府沒有規定室內一定要戴口罩,那時候面試不戴口罩大家也不會覺得你很奇怪,因為本土病例那麼少,但問題就是有的公司規定進公司要戴口罩,對我來說影響就很大,在那時候戴口罩會嚴重影響我的面試表現,我曾經有一家公司就是規定面試要戴口罩,而且還有2個人面試我,第一個人來面試我的時候大概花了一個小時的時間,第二個人面試我的時候我講沒幾句話就開始喘氣,那時候非常的喘,講話很困難,那一家公司應該面試的時間有一個半小時以上,對我而言非常的痛苦,在其他地方戴口罩並不會那麼痛苦,因為你不用一直講話,戴口罩要我講話超過一個小時那真是太痛苦了。

    還有一家公司我去面試也是讓我戴口罩戴的超痛苦,那一家公司是大家集體面試,要面試一天,如果上午的面試通過還有下午,沒有通過的話下午就不用繼續面試了,就因為口罩有可能要戴一整天,我那一天面試戴口罩壓力非常大,那一天還要考你的記憶力,還要講話,而且最糟糕的是那天剛好沙塵暴,本來我想要騎車去,因為騎車去的話可以不用戴口罩,結果剛好沙塵暴就算騎車也要戴口罩,坐捷運戴口罩戴那麼久,面試還要戴,對我而言影響非常的大,結果我那天也沒有通過上午的面試,下午就不用繼續面試了。

   後來我是有一天去看茵茵在宣傳他的舞台劇,他講說練舞的時候都要戴口罩,戴著口罩跳舞非常痛苦,我就因為這樣受到了激勵,所以決定開始練習戴口罩,我就開始連在家裡都在戴口罩,不是防疫而是為了練習,不過當然我在家戴口罩並沒有真的戴一整天就是了,我那時候爬山也在戴口罩,就是為了要練習,經過練習以後戴口罩講話就沒有那麼困難了,真的遇到規定要戴口罩的公司也就比較沒問題了。

   所以說人生遇到一些你討厭的事情,你不要逃避,要好好面對困難想辦法克服,戴口罩講話真的是我很大的罩門,在我練習戴口罩之前我真的只要戴上口罩精神馬上變差,就連經過練習以後也都還是會精神變差,我真的練了很久戴口罩才不會看起來很沒精神,戴口罩對我的影響確實比一般人要來的大很多,而且第三級警戒剛開始時,因為口罩要戴一整天,我竟然會喉嚨痛,那時候需要買枇杷膏喝,試問有多少人戴口罩影響會如此巨大?但是我都克服了,我知道我們還要跟口罩共處很長一段時間,所以必須要練習戴口罩,也正是因為經過這樣的練習,我戴口罩講話才能夠比較正常,而現在我出去還常常是戴著N95口罩,戴久了會比較習慣,不會像很久以前戴N95的時候感覺到非常的悶,這都是經過練習才能達到的。

   12/1起室外不用戴口罩,但是對我而言,我還是會繼續戴口罩,因為我戴口罩的目的不是防疫,而是要練習,不然我戴口罩會沒辦法講話,因為口罩還要再戴一年,所以必須要練習戴口罩

 

 


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

推薦ASP.NET Core MVC書籍

 

電腦書

書名:ASP.NET Core 3.X MVC跨平台範例實戰演練
作者:奚江華  
出版社:碁峰  
出版日期:2020/09/11
語言:繁體中文
定價:800元

 

    最近在學ASP.NET Core MVC,所以買了相關的書籍,今天就來推薦我最近在看的這本書,書名是「ASP.NET Core 3.X MVC跨平台範例實戰演練」,這本書雖然比較舊,但是寫的算滿詳細的,裡面也有很多範例,好好讀完這一本應該很有收穫。

 

 

 


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

推薦ASP.NET CORE MVC的線上課程

 

新版banner

 

     因為工作的需求,所以我有在看ASP.NET CORE MVC,我有買書和觀看線上課程,今天就來推薦一門很入門的ASP.NET CORE MVC線上課程,這門課是由MIS2000 Lab教的,一直都很喜歡MIS2000 Lab的課程,他會用「錯誤學習法」、「驚嚇學習法」來讓大家有很深刻的印象,這門課的名稱是「ASP.NET Core 6 MVC(VS2022) - 由零開始的入門課」,用很淺顯易懂的方式來教大家ASP.NET CORE MVC,並且從課程名稱就知道,老師教的是最新版本,軟體使用VS2022,並且老師教ASP.NET CORE 6,在影片中老師也講述了ASP.NET CORE 6和過去舊版本的差異。

    這門課13.2小時,算是滿入門的,看了以後至少對於ASP.NET CORE MVC有一個基礎的概念,老師教這門課適合沒有程式基礎的人來上這門課,這是讓我很佩服的地方,看完這門課,如果你也有自己動手做,應該是可以收穫滿多的。當然這門課時數只有13.2小時,如果真的要把ASP.NET CORE MVC學到很好的話不能只有看這門課而已。

    這個線上課程有提供一堂試看,後面則是有收費,課程連結果放在下面,想學程式的人可以先試看第一堂課程,看了以後再來決定要不要上,我看了以後是滿喜歡的,所以才會購買課程,推薦給想學ASP.NET CORE MVC的朋友們。

 

課程連結

ASP.NET Core 6 MVC(VS2022) - 由零開始的入門課

 


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

捨棄ASP.NET Webform改學ASP.NET MVC的優缺點

 

    近幾年來ASP.NET Webform的工作愈來愈少,都已經被ASP.NET MVC取代了,而且現在又出來ASP.NET Core,ASP.NET MVC也逐漸被取代,但現在還是很多MVC的工作,未來會愈來愈少。

   今天就來談談ASP.NET Webform和ASP.NET MVC的比較,有哪些優點和缺點?

   ASP.NET Webform會被淘汰,一個很大的原因就是效能差,ASP.NET Webform在使用者送出資料後,畫面上文字方塊仍然能夠保留文字,這是因為是透過Postback機制,以及ViewState的Hidden標籤來記取資料,這樣子當資料愈來愈多的時候,資料量愈來愈龐大就會影響到效能。

   頁面的生命週期複雜也是ASP.NET Webform一個很大的問題,當做按下按鈕送出的動作時,就會產生Page.Load、Button.Click、Page.PreRender及其他相關事件,如果說有使用MasterPage或是按鈕放在自訂控制項時,情況就會變得非常複雜且混亂,到底是MasterPage的Load先執行,還是Content中的Load先執行?

   使用ASP.NET MVC可以解決ASP.NET以上的這些問題,但是程式設計師會面臨到新的問題。

   一個很大的問題就是使用上的不習慣,如果已經習慣寫ASP.NET Webform的工程師要學ASP.NET MVC,在剛開始的時候就會發現原本工具箱中的控制項都消失了,這些控制項確實讓程式設計師用起來很方便,但是卻是效能的一大殺手。讓人覺得最不習慣的我想應該會是ASP.NET MVC沒有GridView、DataSource這類的資料庫元件,過去使用GridView、FormView、SQLDataSource這些元件寫ASP.NET Webform網頁非常簡單,使用精靈很多事情都幫你自動完成,連使用者介面都可以調整,這過程不必寫一行程式,但是在ASP.NET MVC這些資料庫元件都沒有了,很多事情就必須要寫程式完成,也因為這個原因,程式設計師在寫ASP.NET MVC網頁時要更了解HTML、CSS、Javascript,講到這個其實我過去工作時就有程式設計師跟我說SQLDataSource不好用,那其實會害死人,他說你都用SQLDataSource不寫程式,那如果要自己改資料表的使用者介面要怎麼改?所以不要用SQLDataSource做。其實應該這樣講,ASP.NET Webform還是有它的好處,你要做一個小網站,想要趕快完成,之後也不會做太大調整,那麼使用ASP.NET Webform並且用他的這些資料庫元件GridView、SqlDataSource確實很方便,但如果之後要做調整那就不行了。

    ASP.NET Webform的網頁撰寫起來很快速方便,但是會有效能不好的問題,所以才會逐漸被淘汰,但是如果做簡單的小專案的話還是可以選擇使用ASP.NET Webform,複雜的大專案使用ASP.NET Webform就容易跑很慢,就必須要用ASP.NET MVC,長遠來講還是使用ASP.NET MVC比較好。

   以上是我對ASP.NET Webform和ASP.NET MVC差異的理解,希望對大家會有幫助。

 

 

 

 

想要更了解ASP.NET Webform和ASP.NET MVC的不同,可以看看下面這篇文章,我的這篇文章就是從下面的文章中摘要來的

觀念的轉變Web Form到ASP.NET MVC之路


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

ASP.NET使用C#執行SQL所用3個方法的差異

 

    今天來教大家ASP.NET,在寫ASP.NET時很需要和資料庫連結,會使用到SQL語法,使用C#來執行SQL語法是很基本的必學技能,今天就來教大家,會使用到三個方法,今天來簡單介紹ExecuteNonQueryExecuteScalarExecuteReader這3個方法的差異。

 

ExecuteNonQuery

這是用在沒有返回值的SQL命令,像是INSERT、UPDATE、CREATE TABLE、CREATE DATABASE,在使用Store Procedure時也適用這個方法。

 

ExecuteScalar

執行SQL命令返回結果集的第一列第一行,也就是指傳回單一的值,這會常用來執行SQL的COUNT、AVG、MIN、MAX、SUM。

 

ExecuteReader

這會用在執行SQL的SELECT語法,查詢資料並且返回結果,這時就需要用SqlDataReader去接收查詢到的資料。

 

以上就是ExecuteNonQueryExecuteScalarExecuteReader這3個方法的差異簡單介紹,之後我會再補上程式讓大家更容易理解。

 


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

用淺顯易懂的方式說明複雜的程式觀念-小山C#教學

 

    我在網路上有看過很多程式教學的網站,現在網路非常的方便,上面有很多的資源,今天來介紹一個很好的C#教學網站,是小山C#教學網站,這個網站用很淺顯易懂的方式來說明複雜的程式觀念,而且有影片說明,看了以後程式觀念可以更清晰,連結我放在下面,推薦給大家。

 

小山C#教學網站


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

ASP.NET SqlCommand中參數化查詢使用到 'LIKE'的寫法

 

    在ASP.NET中會需要使用參數化查詢來避免Sql injection,在sqlcommand中不能出現'這種東西,不然會容易被攻擊。在做參數化查詢時如果碰到Like指令時,就要用特別的寫法來做,不能直接寫。在這裡我以C#為例。

    原本SQL指令是像這樣:

    string selStr = String.Format(@"Select * FROM  beautyData where  nickname like '%@nickname%'")

   然後在後面給@nickname一個值,像這樣:

   SqlDataSource1.SelectParameters.Add("nickname", tbNickname.Text);

   然後你在執行的時候就會發現出錯了,根本就沒辦法把tbNickname.Text裡面的內容給帶入,根本就甚麼資料都沒有查到,一片空白,這時候要怎麼做呢?

   這時候在SQL指令那裏做一點修改,如下:

   string selStr = String.Format(@"Select * FROM  beautyData  nickname like '%'+@nickname+'%'");

   這樣子就可以順利查到資料了。

    


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

[C#]ASP.NET GridView如何隱藏欄位

 

ASP.NET Webform中,使用GridView時常常會需要把某個欄位隱藏,但是不刪除,通常這個欄位是id,要保留不刪除是因為再做修改、刪除、選取的動作時會需要用到這個欄位,所以就會用隱藏的方式。

 

這時候應該要怎麼做呢?首先先在BoundField裡面加入class,輸入ItemStyle-cssclass="hiddencol" HeaderStyle-CssClass="hiddencol"如下:

 

<asp:BoundField DataField="id" HeaderText="id"  ItemStyle-cssclass="hiddencol" HeaderStyle-CssClass="hiddencol" />

 

然後再設定hiddencol這個class的樣式為display:none;如下:

    <style>

        .hiddencol

        {

            display:none;

        }

    </style>

 

這樣子就設定完成了。

 

另外還有一個更簡單的方法,就是把下面這一行寫到Page_Load裡面:

GridView1.Columns[0].Visible = false;

 

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

泡沫排序法使用方法的程式語法

 

    上次我跟大家介紹過怎麼用C#寫泡沫排序法,今天在跟大家一樣講C#寫泡沫排序法,但是有使用方法,這樣的寫法會比較好一點,感覺比較有水準,程式如下:

 

        static void Main(string[] args)
        {
            int[] array = { 1, 12, 5, 9, 6, 8 };
            array = sortarray(array);
            printNumber(array);
        }
        static int[] sortarray(int[] a) //泡沫排序方法
        {
            int i, j, temp;
            for(i=0;i<=a.GetUpperBound(0);i++)
            {
                for (j = i; j <= a.GetUpperBound(0); j++)
                {
                    if (a[i] > a[j])
                    {
                        temp = a[i];

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

[C#]泛型(Generics)

 

泛型的意思是「暫時替代型別的置換符號」,讓程式設計師暫時不需要決定型別,就可以完成類別或方法的設計。比如成績的這個類別,有可能是等第ABC,也有可能是分數,在宣告成績這個類別時給他一個符號T,不直接給定這是string還是int的資料型別。

 

簡單的程式範例如下:

public class Grade<T>

    {      

        private T  grade;

        public T  getGrade()

        {

            return grade;

        }

 

        public void setGrade(T data)

        {

            grade = data;

        }

    }

    class Program

    {

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

事件(Event)

 

   上次介紹了委派delegate,委派常常會和事件event一起使用, 事件event指的是使用者所做的動作,例如鍵盤輸入、滑鼠點擊等。

   其實事件有點像是訂閱的概念,在事件發生的時候,會通知訂閱者,然後訂閱者就會有動作,也就是執行方法。

   用程式說明大家可能會比較清楚。

 

下面我用一個見面跟人打招呼的程式做為範例,來向大家介紹甚麼是事件?

範例程式如下:

public delegate void PersonEventHandler(object source, PersonEventArgs args);

 

    public class Person

    {

        private string PerName, PerNation;

        public event PersonEventHandler PerEvent;

 

             public void Add(string name,string nation)

        {

            PerName = name;

            PerNation = nation;

 

文章標籤

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

使用Page_LoadComplete解決Page_Load在Button_Click之前執行的問題

 

    最近在寫ASP.NET的網頁使用C#,我做一個功能,在Button_Click之後用TextBox的文字來更新資料庫資料,結果我發現我一直沒有辦法更新資料庫,後來才知道是因為我在Page_Load中有設定TextBox中的文字從資料庫讀取,又因為Page_Load會發生在Button_Click之前,所以一直都先設定TextBox的文字再執行Button_Click,資料庫當然無法更新了。

   解決的方法也很簡單,把設定TextBox文字從資料庫讀取的程式寫在Page_LoadComplete裡面就好了,程式如下:

protected void Page_LoadComplete(object sender, EventArgs e)
{

      ......要執行的程式

}

 

    Page_LoadComplete的執行順序會在Page_Load之前,所以這個問題就這樣子解決了,以後大家遇到類似的問題就可以用Page_LoadComplete來解決。


波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()

 

程式初學者必學的泡沫排序法使用C#

 

    泡沫排序法是程式設計初學這必學的程式,使用泡沫排序法可以把一串數字按照順序來排列,過去我面試的時候也常常有遇到很多公司會考泡沫排序法,這是一個很簡單也很重要的考題,以下我就使用C#來撰寫泡沫排序法:

 

        static void Main(string[] args)
        {
            int[] Data = new int[5] { 12, 5, 8, 6, 2};

            int  temp;
            for(int i=0;i<5;i++)
                for(int j=i+1;j<5;j++)
                {
                    if(Data[i]>Data[j])
                    {
                        temp = Data[i];
                        Data[i] = Data[j];
                        Data[j] = temp;
                    }
                }
        
            foreach(int x in Data)

波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()