| 
 
查看: 1043|回复: 3
 
 | 
如何写一个 Core Save Module?
[复制链接]
 | 
 
 
 | 
 | 
 
如何写一个 Core Save Module? 
最近, 我们的公司有develop一个C# system... 
然后老板跟我说, 要写一个 Save Module, 任何一个function或form,有save function.. 都call这个 Module.... 
比如, Save(UpdateField, UpdateValue, Table, ....) ... 
可以这样写吗? 
你们有写过吗? 或有sample参考吗? 
谢谢.... |   
 
 
 
 |  
| 
 | 
 
 
 | 
 | 
 
| 
 | 
 | 
 
 
 
 | 
 | 
 
 
发表于 10-9-2006 12:04 PM
|
显示全部楼层
 
 
 
可以这样写... 
如果你留意, 几乎个个的 update sql statement 的 pattern 都是一样的. 
 
你可以制作一个 sql class, 里面有好几个 method 专门产生 sql code. 
然后, 再制作一个 database 的 wrapper class, 专门来执行这些 sql code. 
 
也许先写出你所想到的概念吧. |   
 
 
 
 |  
| 
 | 
 
 
 | 
 | 
 
| 
 | 
 | 
 
 
 
 | 
 | 
 
 
 楼主 |
发表于 10-9-2006 10:45 PM
|
显示全部楼层
 
 
 
可以这样写... 
如果你留意, 几乎个个的 update sql statement 的 pattern 都是一样的. 
 
你可以制作一个 sql class, 里面有好几个 method 专门产生 sql code. 
然后, 再制作一个 database 的 wrapper class, 专门来执行这些 sql code. 
 
也许先写出你所想到的概念吧.  
 
我还没有会C#, 但十月会去上C#training 的课.. 
可以briefly解释什么是sql Class 和 wrapper class 吗? 
以我有限的Visual Basic知识, 我大约会 
 
InsertValue = "Mr Lim|AWD0001|Computer Science" 
UpdateField = "Name|ID|Course" 
Table = "StudentDetail" 
 
call Save(InsertValue,UpdateField,Table) 
 
 
Sub Save(InsertValue,UpdateField,Table) 
 
SplitValue = split(InsertValue, "|") 
SplitField = split(UpdateField,"|") 
 
i=1 
Do While SplitValue(i) <> "" 
 
If i = 1 Then 
 FinalValue = FinalValue + SplitValue 
 FinalField = FinalField + SplitField 
Else 
 FinalValue = FinalValue + "," + SplitValue 
 FinalField = FinalField + "," + SplitField 
End IF 
  
Loop 
 
strSQL = "Insert Into " & Table & "(" & FinalValue 
strSQL = strSQL & ") Value(" & FinalField & ")" 
 
End Sub 
大约是这样, 还没真真写 :P 
------------------------------------------------------- 
我想问,以下的有何分别? 
strSQL = "Insert into Table1(Field1) Value('ABC')" 
或 
strSQL = "Select * From Table1" 
Accessrc.Open strSQL, db 
Accessrc.AddNew 
Accessrc!Field1 = "ABC" 
Accessrc!Update 
 
[ 本帖最后由 eastken 于 10-9-2006 10:46 PM 编辑 ] |   
 
 
 
 |  
| 
 | 
 
 
 | 
 | 
 
| 
 | 
 | 
 
 
 
 | 
 | 
 
 
发表于 11-9-2006 02:06 AM
|
显示全部楼层
 
 
 
| 
所谓的 sql class 其实就是制作一个 class 把通用的 insert/update/delete 的 method 集合起来, 组成一个物件. 至于 wrapper class 就是把常用的物件, 例如资料库的 ADO, 重新包装起来, 好让你自己或队友更方便跟着你们的环境条件来开发. |   
 
 
 
 |  
| 
 | 
 
 
 | 
 | 
 
| 
 | 
 | 
 
 
 
 
 |   | 
            本周最热论坛帖子
 
 
 
 |