鍦╟#涓疄鐜3灞傛灦鏋
鍙戝竷: 2008-6-30 10:14 | 浣滆: admin | 鏌ョ湅: 51娆
鍘熺増鑻辨枃鏂囩珷鍦板潃锛歨ttp://www.codeproject.com/csharp/three_tier_architecture.asp
浠嬬粛
杩欑瘒鏂囩珷璁ㄨ濡備綍鍦╟锛冧腑瀹炵幇3灞傛灦鏋勶紝浣跨敤MS Access鏁版嵁搴撳瓨鍌ㄦ暟鎹傚湪姝わ紝鎴戝湪3灞傛灦鏋勪腑瀹炵幇涓涓皬鍨嬬殑鍙鐢ㄧ殑缁勪欢淇濆瓨瀹㈡埛鏁版嵁銆傚苟鎻愪緵娣诲姞锛屾洿鏂帮紝鏌ユ壘瀹㈡埛鏁版嵁鐨勫姛鑳姐
鑳屾櫙
棣栧厛锛屾垜浠嬬粛涓浜3灞傛灦鏋勭殑鐞嗚鐭ヨ瘑銆傜畝鍗曡鏄庯細浠涔堟槸3灞傛灦鏋勶紵3灞傛灦鏋勭殑浼樼偣鏄粈涔堬紵
浠涔堟槸3灞傛灦鏋勶紵
3灞傛灦鏋勬槸涓绉嶁滃鎴风锛嶆湇鍔″櫒鈥濇灦鏋勶紝鍦ㄦ鏋舵瀯涓敤鎴锋帴鍙o紝鍟嗕笟閫昏緫锛屾暟鎹繚瀛樹互鍙婃暟鎹闂璁捐涓虹嫭绔嬬殑妯″潡銆備富瑕佹湁3涓眰闈紝绗竴灞傦紙琛ㄧ幇灞傦紝GUI灞傦級锛岀浜屽眰锛堝晢涓氬璞★紝鍟嗕笟閫昏緫灞傦級锛岀涓夊眰锛堟暟鎹闂眰锛夈傝繖浜涘眰鍙互鍗曠嫭寮鍙戯紝鍗曠嫭娴嬭瘯銆
涓轰粈涔堣鎶婄▼搴忎唬鐮佸垎涓3灞傦紝鎶婄敤鎴锋帴鍙e眰锛屽晢涓氶昏緫灞傦紝鏁版嵁璁块棶灞傚垎绂绘湁璁稿鐨勪紭鐐广
鍦ㄥ揩閫熷紑鍙戜腑閲嶇敤鍟嗕笟閫昏緫缁勪欢锛屾垜浠凡缁忓湪绯荤粺涓疄鐜版坊鍔狅紝鏇存柊锛屽垹闄わ紝鏌ユ壘瀹㈡埛鏁版嵁鐨勭粍浠躲傝繖涓粍浠跺凡缁忓紑鍙戝苟涓旀祴璇曢氳繃锛屾垜浠彲浠ュ湪鍏朵粬瑕佷繚瀛樺鎴锋暟鎹殑椤圭洰涓娇鐢ㄨ繖涓粍浠躲
绯荤粺姣旇緝瀹规槗杩佺Щ锛屽晢涓氶昏緫灞備笌鏁版嵁璁块棶灞傛槸鍒嗙鐨勶紝淇敼鏁版嵁璁块棶灞備笉浼氬奖鍝嶅埌鍟嗕笟閫昏緫灞傘傜郴缁熷鏋滀粠鐢⊿QL Server瀛樺偍鏁版嵁杩佺Щ鍒扮敤Oracle瀛樺偍鏁版嵁锛屽苟涓嶉渶瑕佷慨鏀瑰晢涓氶昏緫灞傜粍浠跺拰GUI缁勪欢
绯荤粺瀹规槗淇敼锛屽亣濡傚湪鍟嗕笟灞傛湁涓涓皬灏忕殑淇敼锛屾垜浠笉闇瑕佸湪鐢ㄦ埛鐨勬満鍣ㄤ笂閲嶈鏁翠釜绯荤粺銆傛垜浠彧闇瑕佹洿鏂板晢涓氶昏緫缁勪欢灏卞彲浠ヤ簡銆
搴旂敤绋嬪簭寮鍙戜汉鍛樺彲浠ュ苟琛岋紝鐙珛鐨勫紑鍙戝崟鐙殑灞傘
浠g爜
杩欎釜缁勪欢鏈3灞傦紝绗竴涓眰鎴栬呯О涓篏UI灞傜敤form瀹炵幇锛屽彨鍋欶rmGUI銆傜浜屽眰鎴栬呯О涓哄晢涓氶昏緫灞傦紝鍙仛BOCustomer锛屾槸Bussniess Object Customer鐨勭缉鍐欍傛渶鍚庢槸绗笁灞傛垨鑰呯О涓烘暟鎹眰锛屽彨鍋欴ACustomer锛屾槸Data Access Customer鐨勭缉鍐欍備负浜嗘柟渚挎垜鎶婁笁涓眰缂栬瘧鍒颁竴涓」鐩腑銆
鐢ㄦ埛鎺ュ彛灞
涓嬮潰鏄敤鎴锋帴鍙f垚鐨勪竴娈典唬鐮侊紝鎴戝彧閫夊彇浜嗚皟鐢ㄥ晢涓氶昏緫灞傜殑涓閮ㄥ垎浠g爜銆
//This function get the details from the user via GUI
//tier and calls the Add method of business logic layer.
private void cmdAdd_Click(object sender, System.EventArgs e)
{
try
{
cus = new BOCustomer();
cus.cusID=txtID.Text.ToString();
cus.LName = txtLName.Text.ToString();
cus.FName = txtFName.Text.ToString();
cus.Tel= txtTel.Text.ToString();
cus.Address = txtAddress.Text.ToString();
cus.Add();
}
catch(Exception err)
{
MessageBox.Show(err.Message.ToString());
}
}
//This function gets the ID from the user and finds the
//customer details and return the details in the form of
//a dataset via busniss object layer. Then it loops through
//the content of the dataset and fills the controls.
private void cmdFind_Click(object sender, System.EventArgs e)
{
try
{
String cusID = txtID.Text.ToString();
BOCustomer thisCus = new BOCustomer();
DataSet ds = thisCus.Find(cusID);
DataRow row;
row = ds.Tables[0].Rows[0];
//via looping
foreach(DataRow rows in ds.Tables[0].Rows )
{
txtFName.Text = rows["CUS_F_NAME"].ToString();
txtLName.Text = rows["CUS_L_NAME"].ToString();
txtAddress.Text = rows["CUS_ADDRESS"].ToString();
txtTel.Text = rows["CUS_TEL"].ToString();
}
}
catch (Exception err)
{
[8]




发表于 2009-1-5 19:48
| 











