iT邦幫忙

0

可以自訂一串程式碼嗎 ?

c#

大家好,由於我在寫程式碼的時候常需要重新request 資料庫的內容(網頁新)
為了降低網頁Refresh的次數,只更新指定欄位

開發使用:Asp.net 2.0 C# (配合伺服器/資訊組)
資料庫:Access 2003 (配合伺服器/資訊組)
使用程式:Visual Studio 2012
因為我不是資訊組的人,因此我沒有權限對伺服器做任何更動。

以下是我常用的程式碼

sqlcon = new OleDbConnection(Sql.ConnectionString);
sqlcon.Open();
exc = "select test_type,test_name,upd_name,upd_date,upd_time from testdata_basic where test_date= '" + u_date_dpx.Text + "'";
table = "score";
sqlcom = new OleDbCommand(exc, sqlcon);
myDA = new OleDbDataAdapter(exc, sqlcon);
myDS = new DataSet(table);
myDA.Fill(myDS, table);
sqlcon.Close();
dv = new System.Data.DataView(myDS.Tables[table]);
countcow = dv.Table.Rows.Count;
if (countcow >= 1)
{
u_type_lb.Text = dv[0][0].ToString();
u_name_lb.Text = dv[0][1].ToString();
upd_name.Text = dv[0][2].ToString();
upd_date.Text = dv[0][3].ToString();
upd_time.Text = dv[0][4].ToString();
}

我想請問,因為我的專案很常需要重複去寫一些東西,
我有沒有辦法 定義他 或是 自訂他? (這兩個關鍵字查了都不是我要的)
希望以後我可能只要打

sql_u_update();

他就會為我執行上面那串,不只CS看起來乾淨,我也不會因為老闆要新增欄位或是求出其他東西讓我整天使用尋找功能覆蓋到死。

由於小弟不才,沒有受過非常正統跟精細的C#教育因此到這邊發問,煩請多加見諒~

2 個回答

6
mis2000lab
iT邦好手 1 級 ‧ 2014-09-19 18:27:32
最佳解答

可以
自己寫一個類別,把常用的東西放進去呼叫

例如 你傳遞SQL指令給這個方法,他傳回結果(如DataReader)給你使用

EntLib就是做這樣的事,這是開放原始碼,您可以參考他的作法
(裡面的DAAB,就是負責資料存取)

我的文章有介紹過,希望能幫上忙 :-)
http://www.dotblogs.com.tw/mis2000lab/Tags/EntLib/default.aspx

看更多先前的回應...收起先前的回應...
Kevin iT邦新手 4 級 ‧ 2014-09-21 22:25:54 檢舉

感謝您的答覆!
您的書我有看到前輩們都有在猛K書~
課程部份因為目前是學生,接接專案賺不了大錢能養活自己就拍拍手了....
不過您提到Access過時了,我之前有做過使用Oracle資料庫的專案經驗,也有找現在委託人的資訊組談了一番,他們以安全為由拒絕使用MS SQL, Mysql也拒絕讓我把這個專案建制在他們現有的資料庫上(MS SQL)
所以在雙贏的情況下只能使用Access, 由於主機是Server 2003他們也拒絕安裝odbc access 14的驅動

Kevin iT邦新手 4 級 ‧ 2014-09-21 22:27:48 檢舉

第二個是您不解謂何我的程式要使用
sqlcom = new OleDbCommand(exc, sqlcon);
myDA = new OleDbDataAdapter(exc, sqlcon)
因為不少東西都是前輩給的,自己加工加以應用,又受到專案的時間下,只能先以車能跑為主,系統沒有要做大量運算所以目前還暫時感覺不出速度效能的問題。
有些程式碼可能是多的,有可能會拖垮系統效能,但我只能事後在慢慢改了....

安全為由?~~這個說法怪怪的,如果真的以安全為前提的話,那使用 MS-Access的方式則是較不安全的作法,使用MS-SQL、My-SQL 也只需要新增帳號及設定資料庫權限,另外可以想到安全性的問題,可能是在網路架構的問題上。

Kevin iT邦新手 4 級 ‧ 2014-09-27 15:31:00 檢舉

bluesky1213提到:
bluesky1213 說:

因為這個專案算是客戶的資訊人員消極不想開發,因此自己掏腰包請我來寫。
沒有向上專簽,所以資訊室無法給我使用MS-SQL。
也不提共報廢電腦,即使協調出電腦也不願意開對外Port。
只能說他們態度消極,不能上簽的理由是,我不是公司無法光明正大的進行相關的預算核銷,只能客戶自己付錢給我來做。
再來是 上簽會突顯出原來資訊室這麼X.....
提出資訊化申請提了好多年了都沒看到改善。

我的客戶是學校的職員。。。。

0
丁大丙
iT邦研究生 5 級 ‧ 2014-09-27 17:38:38

重複的code,一般會用function,或是叫函數或函式.

Kevin iT邦新手 4 級 ‧ 2014-10-22 22:28:04 檢舉

已解 謝謝

我要發表回答

立即登入回答