转自:http://www.xiaoniu168.com/js62.html
在用C#开发WinForm程序时,常常会用到对数据库的连接配置,典型的方法是将这些信息写在配置文件里,如Web.config或App.config文件里。但是面对配置文件中的字符串常常客户会感觉到无从下手,那么,针对数据库的配置我们可以利用VS自带的数据库连接配置窗体,下面介绍如何使用该功能。
首先添加对Microsoft.Data.ConnectionUI.Dialog.dll的引用,这个assembly在VS2005的安装目录下,C:\Program Files\Microsoft Visual Studio 8\Common7\IDE文件夹下,添加完成后需要在调用的窗体添加以下代码:
代码如下: using System.Xml;//添加XML引用 string FilePath = Application.StartupPath + "\\App.config"; //解析配置文件获取对应的值 XmlDocument xDoc = new XmlDocument(); xDoc.Load(FilePath); string DocType = xDoc.SelectSingleNode(@"/configuration/appSettings/add[@key='sql']").Attributes["value"].Value; if (DocType == "") { string connString = String.Empty; Microsoft.Data.ConnectionUI.DataConnectionDialog connDialog = new Microsoft.Data.ConnectionUI.DataConnectionDialog(); // 添加数据源列表,可以向窗口中添加自己程序所需要的数据源类型 必须增加以下几项中任一一项 connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.AccessDataSource); // Access connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OdbcDataSource); // ODBC connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OracleDataSource); // Oracle connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource); // Sql Server connDialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource); // Sql Server File // 初始化 connDialog.SelectedDataSource = Microsoft.Data.ConnectionUI.DataSource.SqlDataSource; connDialog.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.SqlDataProvider; // connDialog.ConnectionString = conn; //只能够通过DataConnectionDialog类的静态方法Show出对话框 //不同使用dialog.Show()或dialog.ShowDialog()来呈现对话框 if (Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(connDialog) == DialogResult.OK) { string myConnect = connDialog.ConnectionString; XmlDocument myDoc = new XmlDocument(); XmlElement myXmlElement; myDoc.Load(Application.StartupPath + "//App.config");//加载启动目录下的App.config配置文件 XmlNode myNode = myDoc.SelectSingleNode("//appSettings");//查找appSettings结点 myXmlElement = (XmlElement)myNode.SelectSingleNode("//add [@key='sql']");//查找add结点中key=sql的结点 myXmlElement.SetAttribute("value", myConnect);//获取该结点中value值 myDoc.Save(Application.StartupPath + "//App.config");//保存到启动目录下的App.config配置文件 } } |