标题:請問如何在 VB.NET 大型程序中保持连接对象的统一?
只看楼主
yclhn
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-2-8
 问题点数:0 回复次数:0 
請問如何在 VB.NET 大型程序中保持连接对象的统一?

請問如何在VB.NET 大型程序中保持连接对象的统一?

本人已经尝试使用如下办法,但仍未达到理想效果,请各位高手指点一下,本人感激不尽!!! A . 在公共模塊(Moduel)中定義全局聯接對象,聯接字符串: Public Module initilizevariable Public G_con As New OleDbConnection() Public G_strCon As String . . . . . . . End Module B. 在登錄界面(Frmlogon)中,根據選擇的版本(分公司),設置不同的聯接字符串: Select Case Cboversion.Text

Case "PLANT1" G_strCon = "Provider=MSDAORA.1;Password=test1;User ID=test1;Data Source=test1" Case "PLANT2" G_strCon = "Provider=MSDAORA.1;Password=test2;User ID=test2;Data Source=test2" Case "PLANT3" ....... End Select G_con.ConnectionString = G_strCon G_con.Open() C .在各數據維護窗體 :(Frmdata1,Frmdata2,Frmdata3,......): 1). 從工具欄拖一個 適配器 (OleDbDataAdapter ) OleDbDataAdapter1 到窗體,在產生適配器的向導中,將"Generate Insert,Update and Delete Statements" 選項去掉 (即無需 OleDbDataAdapter 自動產生上述命令對象),此時 OleDbDataAdapter 僅自動產生 OleDbConnection,OleDbSelectCommand 對象 ,將 OleDbDataAdapter 自動產生的 OleDbConnection 對象刪除, 在 Frmdata1_Load 代碼中加入: OleDbDataAdapter1.SelectCommand.Connection = G_con Dim CMDtemp As New OleDb.OleDbCommandBuilder(OleDbDataAdapter1) 2). 從工具欄拖一個 適配器 (OleDbDataAdapter ) OleDbDataAdapter1 到窗體,在產生適配器的向導中,將"Generate Insert,Update and Delete Statements" 選項選中 ( 需要 OleDbDataAdapter 自動產生上述命令對象),將 OleDbDataAdapter 自動產生的 OleDbConnection 對象刪除, 在 Frmdata1_Load 代碼中 加入: OleDbDataAdapter1.SelectCommand.Connection = G_con OleDbDataAdapter1.InsertCommand.Connection = G_con OleDbDataAdapter1.UpdateCommand.Connection = G_con OleDbDataAdapter1.DeleteCommand.Connection = G_con 3) 將 2) 中 OleDbDataAdapter 自動產生的 OleDbConnection 對象保留,在 Frmdata1_Load 代碼中加入: OleDbConnection1.ConnectionString = G_strCon

4) 設置一個祖先窗體Frmbasic ,在其上添加一個聯接對象 CONMAIN , Frmbasic 繼承屬性設置為 Friend, 所有數據窗體( Frmdata1,Frmdata2 ……..) 由此繼承 在數據窗體上添加 OleDbDataAdapter 時 , 應選擇與 CONMAIN一致的聯接字符串, 從而確保此OleDbDataAdapter 的聯接對象為CONMAIN,

在Frmbasic_Load 中加入:

CONMAIN.ConnectionString = G_strCon

上述四種方法均達到了在整個程序中保持聯接統一的效果 , 但在 Server Explorer 中, 為每個數據庫建立了一個連接,當窗體需要產生多個適配器時,在產生適配器的向導中選擇不同的連接將產生不同的 OleDbConnection 對象 , 此時若有一個 OleDbConnection 對象的 ConnectionString 忘記在 Frmdata1_Load 中 設置 , 後果難以預料, 即使 在 Frmdata1_Load 中 設置 ,由於有多個 OleDbConnection 對象 也較煩瑣. 不知道有何簡便方法可在整個程序中保持聯接的統一, 請指點一下, 多謝!!! 网络邮箱 : YCLHN@126.COM 公司邮箱 : CL_YANG@SAE.COM.HK

搜索更多相关主题的帖子: NET 对象 
2005-02-22 12:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-12426-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.192229 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved