タイトル | : 構造体でスマートに記述する方法 |
記事No | : 10069 |
投稿日 | : 2010/04/22(Thu) 15:21 |
投稿者 | : ひろこ |
VB2005
お世話になっております。
下記の様にSQLのSelect,Update,Insert,Deleteのクラスを作ってみました。
SQL文は商品_SQL,価格_SQL,在庫_SQLとありSQL文の引数はそれぞれ違います。
md_Select,md_Update,md_Insert,md_DeleteのCase部分はすべて同じ記述をしています。 これを構造体や配列等を何か駆使してスマートに書く方法はないでしょうか。 いい方法があれば根本的に記述を変えてもOKです。
よろしくお願いします。
Public Class SqlLibrary
Dim gGamencd as Integer Public Sub New(Byval gamencd as Integer) gGamencd = gamencd End Sub
'===Select================================================================ Public Function md_Select(Optional Byval h0 as String = "", _ Optional Byval h1 as String = "")
Dim getstr as String = ""
Select Case gGamencd Case 1 : Dim s as New 商品_SQL : getstr = s.md_Select(h0) Case 2 : Dim s as New 価格_SQL : getstr = s.md_Select() Case 3 : Dim s as New 在庫_SQL : getstr = s.md_Select(h0, h1) End Select
md_Select = getstr
End Function
'===Update================================================================= Public Sub md_Update(Byval fps_sh as Object, _ Byval col as Integer, Byval row as Integer)
Select Case gGamencd Case 1 : Dim s as New 商品_SQL : s.md_Update(fps_sh, row) Case 2 : Dim s as New 価格_SQL : s.md_Update(fps_sh, row) Case 3 : Dim s as New 在庫_SQL : s.md_Update(fps_sh, row) Case Else
End Select
End Sub
'===Insert============================================================== Public Sub md_Insert(Byval fps_sh as Object, _ Byval col as Integer, Byval row as Integer)
Select Case gGamencd Case 1 : Dim s as New 商品_SQL : s.md_Insert(fps_sh, row) Case 2 : Dim s as New 価格_SQL : s.md_Insert(fps_sh, row) Case 3 : Dim s as New 在庫_SQL : End Select
End Sub
'===Delete============================================================== Public Sub md_Delete(Optional Byval cd0 as String = "", _ Optional Byval cd1 as String = "")
Select Case gGamencd Case 1 : Dim s as New 商品_SQL : s.md_Delete(cd0, cd1) Case 2 : Dim s as New 価格_SQL : s.md_Delete(cd0) Case 3 : Dim s as New 在庫_SQL : s.md_Delete() End Select
End Sub
End Function
|