到底应该使用什么Code Style?连接数据库时怎样管理连接。在编程中,要将很多操作做成一个函数,以便使程序更
到底应该使用什么Code Style?连接数据库时怎样管理连接。
在编程中,要将很多操作做成一个函数,以便使程序更加抽象。
但是,有时候,为了提高可读性,比如将分数加1,可写成:
VB codescore=score+1
写成模块就是:
VB codePublic Function score_addscore=score+1End Function
然后用:
VB codeCall score_add
来调用。
再进一步模块化,甚至可以写成
VB codePublic Function score_add(value) as integerscore=score+valueEnd Function
然后用:
VB codeCall score_add(value)
来调用。
但这么写代码,在一个小型的程序里面,可能一个模块只用一次,比如说,我的一个Button可能就是起到database_load的作用,直接给这个按钮写代码就行了,还要不要写一个Function,然后才Call一下?另外,以加分为例,在小型程序种数值也可能是固定的,那么这样是利大于弊还是起反作用?
第二个问题,我们连接数据库时,很可能要建立一个Conn以后建立多个rs,或者反复开关一个人rs来SELECT不同的数据。
那么,连接数据库的模块要独立吗?可以写成这样吗?
VB codePublic Function database_connect(sel, from, where, whereinfo) As String conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库.mdb;Persist Security Info=False" If where = "*" And whereinfo = "*" Then rs1.Open "select " & sel & " from " & from, conn, 1, 3 Else rs1.Open "select " & sel & " from " & from & " where " & where & "=" & "'" & whereinfo & "'", conn, 1, 3 End IfEnd Function
然后用
VB codeCall database_connect(a,b_sheet,a,3)
来连接吗?
然后再写一个database_close来专门关闭数据库连接:
VB coders1.closecnn.close
打开连接时要不要打开conn,关闭的时候要不要关闭conn?还是说在form_load时打开,推出程序时结束?
而且在每次连接数据库时,都call一下连接,最后关闭,很容易出现调用多个模块,每个模块都打开一个连接再关闭,反复多次!降低性能。而且,如果只有一个rs的话,什么时候开关又成了大难题!
哪位大牛能指点一下?
[解决办法]1)抽象
概念性错误!
不适合 score_add 封装。
2)数据库连接
由需求决定。
如果数据库服务器是专用的,并且只有十几个客户端,整个程序开一个全局连接并且保持常连更好。
只有客户端数远超数据库的最大连接数时,才需要考虑连接的动态开闭。
[解决办法]1)用餐可以用筷子、用刀叉、甚至直接用手,没有标准。
设计模式也一样,需要看情况进行取舍。
2)通常是用常连比较合适。