2013-11-29 16:01:57
http://pan.baidu.com/s/1nEjiu DBConnectSetting.dll
使用的是上面这个dll
界面 代码:
Microsoft.Data.ConnectionUI.DataConnectionDialog dialog = new Microsoft.Data.ConnectionUI.DataConnectionDialog();
dialog.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource);
dialog.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.SqlDataProvider;
dialog.StartPosition = FormStartPosition.CenterScreen;
dialog.Title = "Connect to Microsoft SQL Server";
dialog.ConnectionString = ConnectSql.ConnectionString;
if (Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(dialog, this) == DialogResult.OK)
{
ConnectSql.SetConfigValue("ConnectionString", DES.EncryptDES(dialog.ConnectionString, "mladerby"));
}
App.ConnectionString = dialog.ConnectionString;
ConnectSql.cs
/// <summary>
/// 获取连接字符串
/// </summary>
public static string ConnectionString
{
get{
if (App.ConnectionString == null)
{
string _connectionString = ConfigurationManager.AppSettings["ConnectionString"];
string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];
_connectionString = DES.DecryptDES(_connectionString, "mladerby");
return _connectionString;
}
else
{
return App.ConnectionString;
}
}
}
/// <summary>
/// 写操作
/// </summary>
/// <param name="AppKey"></param>
/// <param name="AppValue"></param>
public static void SetConfigValue(string AppKey, string AppValue)
{
XmlDocument xDoc = new XmlDocument();
//获取可执行文件的路径和名称
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null)
xElem1.SetAttribute("value", AppValue);
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 读取.exe.config的值
/// </summary>
/// <param name="path">.exe.config文件的路径</param>
/// <param name="appKey">"key"的值</param>
/// <returns>"value"的值</returns>
internal static string GetConfigValue()
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
XmlNode xNode;
XmlElement xElem;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem = (XmlElement)xNode.SelectSingleNode("//add[@key=\"" + ConnectionString + "\"]");
if (xElem != null)
return xElem.GetAttribute("value");
else
return "";
}
app.cs
public static string ConnectionString;//设置 一个存储 为了 App.config 文件修改后 取值 不会修改问题
以下是 微软自带的实现界面、功能的dll
Microsoft.Data.ConnectionUI.Dialog.dll -- 微软自带的数据连接配置界面库
Microsoft.Data.ConnectionUI.dll --微软自带的数据连接配置界面库
Microsoft.Data.ConnectionUI.Dialog.resources.dll 微软自带的数据连接配置界面库语言包