如何提高VB程序的效率?尤其是数据库操作!!!
数据库连接是怎么用的?
我通常是定义全局
dim conn as new adodb.connection
然后在LOAD事件里打开
最后在unload事件里关闭、释放连接
我现在很少用ADO控件邦定数据,大部分直接用记录集邦定
大家还有什么效率比较高的方法?
代码的优化等等!!
希望大家指点一下
问题点数:50、回复次数:7Top
1 楼ljhdi( )回复于 2005-06-04 09:28:07 得分 0
占个位,等待高手ing……Top
2 楼sparkwong(俺做油画代理:http://www.1stPainting.com)回复于 2005-06-04 09:30:54 得分 0
up, 也希望能了解看看Top
3 楼yxg80(林夕昱)回复于 2005-06-04 09:31:00 得分 0
我现在也是因为不会使用SQL而郁闷呢?关注你的问题中!希望我也能学点!Top
4 楼xiuxiuli(秀秀)回复于 2005-06-04 09:37:24 得分 0
多学习吧?Top
5 楼dqhuaying(不再留恋)回复于 2005-06-04 09:45:32 得分 0
顶了Top
6 楼ChumpKlutz(朽木)回复于 2005-06-04 10:18:03 得分 30
数据库操作!?
我给楼主提几点简单的意见:
1.首先楼主不使用ADO数据邦定控件是对的.对于Connection对象你可以建一个形如的类:
'通用数据库连接
Public Function CommonConn() As ADODB.Connection
On Error GoTo handler
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.ConnectionString = " Provider=SQLOLEDB.1; " _
& " Password=xn; " _
& " Persist Security Info=True; " _
& " User ID=xn; " _
& " Initial Catalog=Hub; " _
& " Data Source=192.168.0.9"
cn.Open
Set CommonConn = cn
Set cn = Nothing
Exit Function
handler:
MsgBox "数据连接时出现错误!", vbOKOnly + vbInformation
End Function
然后用如:Dim cn as new Adodb.Connection
set cn=CommonConn
不就OK了.
2.在操作数据库时使用存储过程.
3.尽量把数据库操作放在一个通用的过程中,这样可以减少数据连接从而提高数据的传输流量
Top
7 楼chenxianping(做好程序員﹐向SA發展)回复于 2005-06-04 10:56:22 得分 20
我個人認為﹕
最好不要用ADO控件邦定数据和直接用记录集邦定
這樣做修改起來好麻煩。
不建義使用﹕
如新增記錄﹕
rs.Open "select * from Table ",cnn,1,3
rs.AddNew
rs.Field("")="strdfd"
rs.Update
rs.close
建義用﹕
如新增記錄﹕
strSql="Insert into Table (...) value (....)"
cnn.Execute(strSql)
如更新記錄或刪除
同上
對查詢﹐比較復雜并語句長的建義使存儲過程。
如﹕
一個查語句有上100字節或上1K字節,
如不用存儲過程的話﹐則輸入數據服務器要上100字節或上1K字節,
但是﹐如用了存儲過程的話﹐則輸入數據服務器只傳參數就ok了
Top




