組合查詢,不好弄,因為需要有模板模式。不過經過問別人看部落格之後,也算是理解著弄完了。只是弄完了不行啊,得總結啊,那就總結吧。
我理解的模板方法就是先建立乙個父模板,然後讓子類來繼承父類,使用父類的功能。
public virtual void todgv(entity.groupcheck groupcheck)
public virtual string toname(string combo)
public virtual string tablename()
private void form13_load_1(object sender, eventargs e)
private void button1_click(object sender, eventargs e)
}else if (cmbrelatinons2.text == "")
}else if (cmbfield3.text == "" || cmbopterator3.text == "" || txtcontent3.text == "")
entity.groupcheck groupcheck = new entity.groupcheck();//將引數傳給實體
datatable flag = new datatable();
groupcheck.cmbfield1 = toname(cmbfield1.text); //呼叫了重寫虛方法的內容
groupcheck.cmbfield2 = toname(cmbfield2.text);
groupcheck.cmbfield3 = toname(cmbfield3.text);
groupcheck.cmbopterator1 = cmbopterator1.text
; groupcheck.cmbopterator2 = cmbopterator2.text
; groupcheck.cmbopterator3 = cmbopterator3.text
; groupcheck.cmbrelatinons1 = toname(cmbrelatinons1.text);
groupcheck.cmbrelatinons2 = toname(cmbrelatinons2.text);
groupcheck.txtcontent1 = txtcontent1.text
; groupcheck.txtcontent2 = txtcontent2.text
; groupcheck.txtcontent3 = txtcontent3.text
; groupcheck.tablename =gettable() ;
}private void button2_click(object sender, eventargs e) }}
public
class geoupcheckdal : idal.groupcheckidal
;dt = sqlhelper.executequery(sql, sqlparameter, commandtype.storedprocedure);
return dt;}}
這是 u層和d層 ,其他幾層都是跟以前的一樣,就不寫了。
子類只需要寫u層就行。
private void form14_load(object sender, eventargs e)
public override string toname(string combo)
}public override string tablename()
private void button1_click(object sender, eventargs e)
else
}
自己可以查查怎麼建儲存過程,我在使用儲存過程出現無法找到儲存過程,我猜是因為用的儲存過程是別人的,可能需要自己建立乙個。
一般用的就是類似上面圖中這樣的,但是我在網上查了查怎麼建儲存過程,就把上面的改了改,就變成下面圖中的樣子
然後在d層中呼叫就能用了。
希望這些能對你有幫助
蠡測機房重構之組合查詢
寫在前邊的話 在進行機房重構的過程中,設計組合查詢的窗體,真的是學到了很多東西。以管窺豹,以蠡測海,所以想小小的總結一下,緬懷這一寸寸學習的時光。設計模式之模板方法的運用 模板方法模式 在乙個抽象類中定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中去實現。模板方法使得子類可以不改變乙個演算法的結...
機房重構 組合查詢(知識點總結)
昨天把組合查詢敲完了,過程查了不少的部落格,下面總結下遇到的知識點 組合查詢就是多條件查詢,一條查詢語句where後面的條件很多,而在機房中設計到組合查詢的很多,就用到了模板方法 官方定義 定義乙個操作中的演算法骨架,而將一些步驟延遲到子類。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算...
機房 組合查詢
前言 在剛剛開始機房的時候,僅僅剛剛把整個工程的窗體控制項佈完,聽一些同學說組合查詢有些難,並且我對他們的話深信不疑。但是你現在不做總會到一點時間你是需要去完成的,想到這些,便開始了探索同學們口中的 難 到底有多 難 邏輯分析 想要功能更快的實現,理清邏輯很關鍵。該動筆時就去拿筆畫,一味地在腦子裡想...