明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

信息管理系統(tǒng)的迅速開發(fā)

[摘要]基于cs\bs架構(gòu)的信息管理系統(tǒng)中,讓軟件人員感到頭疼,工作量繁多而又是必須作的項(xiàng)目:基于數(shù)據(jù)庫的查詢,添加,更新,刪除,真的是一場噩夢,因?yàn)榉倍嗟淖侄,就算使用分層次的關(guān)系對象映射,也是一場很大的工作。在我們最近的項(xiàng)目中,就有一個(gè)這樣的例子,它是一個(gè)學(xué)生信息的管理系統(tǒng),包括了獎(jiǎng)學(xué)金,勤工助學(xué),貸...
基于cs\bs架構(gòu)的信息管理系統(tǒng)中,讓軟件人員感到頭疼,工作量繁多而又是必須作的項(xiàng)目:基于數(shù)據(jù)庫的查詢,添加,更新,刪除,真的是一場噩夢,因?yàn)榉倍嗟淖侄危退闶褂梅謱哟蔚年P(guān)系對象映射,也是一場很大的工作。

在我們最近的項(xiàng)目中,就有一個(gè)這樣的例子,它是一個(gè)學(xué)生信息的管理系統(tǒng),包括了獎(jiǎng)學(xué)金,勤工助學(xué),貸款,獎(jiǎng)懲等各方面的學(xué)生信息維護(hù)。針對整個(gè)系統(tǒng)查詢多,添加多,字段繁雜的特點(diǎn)(光貸款的字段就有多達(dá)70多個(gè),主要適用于銀行上報(bào),學(xué)校內(nèi)部管理維護(hù)),用一般的開發(fā)方式已經(jīng)不能滿足需要。針對整個(gè)系統(tǒng)的要求,我們開發(fā)了一個(gè)DBForm的數(shù)據(jù)庫控制模塊,通過同界面一定的設(shè)置相配合,實(shí)現(xiàn)了字段任意添加,實(shí)際總代碼行數(shù)不會超過20-30行的目標(biāo)(根據(jù)Join標(biāo)的數(shù)據(jù)而定)

一段用于查詢的代碼實(shí)際使用如下

下面的這些代碼是放置在窗體初始化的時(shí)候的

myDBForm = new DBForm(FormType.WinForm,"Smis_AdminLogin","UserList");

myDBForm.AddJoinInfo("DepartmentID","","DepartmentID","CodeInstitute");

myDBForm.AddJoinInfo("GroupID","","GroupID","CodeAdminGroup");





myDBForm.IniDBForm();


下面這些用于具體的查詢操作:

if (NewQuery)

{

myDBForm.NewQueryInit(); //新查詢所需要做的準(zhǔn)備工作

myDBForm.AddQueryContainer(this.gbxQuery);

//加入放置修改控件集合的容器



}



string SelectedColumn = @"Smis_AdminLogin.*,CodeInstitute.DepartmentName,CodeAdminGroup.GroupName";





myDBForm.ExecuteQuery(SelectedColumn,"");

查詢出來的數(shù)據(jù)就放置在DBForm的QueryDBData屬性中,可以直接綁定到想要查看的數(shù)據(jù)列

如果要執(zhí)行添加/刪除操作,DBForm的初始化應(yīng)該加入下列代碼


myDBForm.AddModifyContainer(gbxModify);//加入放置修改控件集合的容器

myDBForm.BuildModifyCommands("Smis_AdminLogin","LoginName");

然后是具體的數(shù)據(jù)庫操作:

object AdminID = myDBForm.ExecuteInsert();

myDBForm.ExecuteDelete(CurrentUser.UserEntity.LoginName);

myDBForm.ExecuteUpdate(CurrentUser.UserEntity.LoginName);





上面3條語句分別完成了對數(shù)據(jù)庫的插入,更新,刪除工作



通過DBForm的使用,大大簡化了我們系統(tǒng)數(shù)據(jù)庫方面的開發(fā),對于進(jìn)行數(shù)據(jù)操作時(shí)的業(yè)務(wù)規(guī)劃問題,我們采用了常見的關(guān)系/對象映射模型,不過映射的都是數(shù)據(jù)庫的小子集,這些是日常工作的核心部分,并且變動的幾率不大。



附上DBForm的結(jié)構(gòu)圖