信息管理系統(tǒng)的迅速開發(fā)
發(fā)表時(shí)間:2024-06-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]基于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)圖