C# 通用資料庫配置界面,微軟原生DLL重整合
自己整合了
微軟自帶的資料連接配接配置界面對話庫 Microsoft.Data.ConnectionUI.Dialog.dll
微軟自帶的資料連接配接配置界面庫 Microsoft.Data.ConnectionUI.dll
微軟自帶的資料連接配接配置界面庫語言包 Microsoft.Data.ConnectionUI.Dialog.resources.dll
.net 通用資料庫配置界面,微軟原生DLL重整合(上面三個類庫整合成 DBConnectSetting.dll,隻要在項目中引用這個DBConnectSetting.dll類庫,C#程式裡面就可以使用 Microsoft.Data.ConnectionUI.Dialog.dll ,Microsoft.Data.ConnectionUI.dll他們了)
下面是具體使用案例
微軟vs自帶資料庫測試界面化工具
Microsoft.Data.ConnectionUI.DataConnection.Dialog 與Microsoft.Data.ConnectionUI.DataConnection
MicrosoftVisualStudio裡面的資源之資料庫連接配接配置
這個功能的實作主要是用了Microsoft.Data.ConnectionUI.dll和Microsoft.Data.ConnectionUI.Dialog.dll這個二個動态庫,可以在VS的安裝目錄的Common7\IDE這個目錄下面找到(本機的安裝路徑C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE)。
找到兩個元件 Microsoft.Data.ConnectionUI.dll,Microsoft.Data.ConnectionUI.Dialog.dll
這兩個要一起引用下
Microsoft.Data.ConnectionUI.dll
Microsoft.Data.ConnectionUI.Dialog.dll
測試代碼。ok,但是本地的隻引用Microsoft.Data.ConnectionUI.dll,Microsoft.Data.ConnectionUI.Dialog.dll沒有引用Microsoft.Data.ConnectionUI.Dialog.resources.dll,界面是英文版的,使用DBConnectSetting.dll,就可以是中文界面了(因為DBConnectSetting.dll整合了上述的三個dll類庫)。
string ConnString = null;
bool isSqlServer = false;
private void btnTestDataConnectionDialog_Click(object sender, EventArgs e)
{
//伺服器名稱 LENOVO-PC\MYSQLEXPRESS
using (Microsoft.Data.ConnectionUI.DataConnectionDialog dlg = new DataConnectionDialog())
//添加資料源
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.AccessDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OdbcDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.OracleDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource);
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource);
//設定預設資料提供對象
dlg.SelectedDataSource = Microsoft.Data.ConnectionUI.DataSource.SqlDataSource;
dlg.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.SqlDataProvider;
dlg.Text = "連接配接DCWriter示範資料庫";
//隻能夠通過DataConnectionDialog類的靜态方法Show出對話框
//不同使用dialog.Show()或dialog.ShowDialog()來呈現對話框
if (Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(dlg) == System.Windows.Forms.DialogResult.OK)
//連接配接字元串"Data Source=LENOVO-PC\\MYSQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True"
ConnString = dlg.ConnectionString;
isSqlServer = dlg.SelectedDataSource == Microsoft.Data.ConnectionUI.DataSource.SqlDataSource
|| dlg.SelectedDataSource == Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource;
}
MessageBox.Show(ConnString);
這是本人寫的代碼的一部分,後面會展示具體的界面顯示
private static IDbConnection InnerCreateConnect()
if (string.IsNullOrEmpty(_ConnectionString))
{
string dbFile = System.IO.Path.Combine(Application.StartupPath, "EMR.mdb");
if (File.Exists(dbFile))
{
// 存在示範資料庫檔案
_ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=EMR.mdb";
_IsSQLServer = false;
}
else
{
try
{
using (Microsoft.Data.ConnectionUI.DataConnectionDialog dlg = new Microsoft.Data.ConnectionUI.DataConnectionDialog())
{
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.AccessDataSource); // Access
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlDataSource); // Sql Server
dlg.DataSources.Add(Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource); // Sql Server File
// 初始化
dlg.SelectedDataSource = Microsoft.Data.ConnectionUI.DataSource.AccessDataSource;
dlg.SelectedDataProvider = Microsoft.Data.ConnectionUI.DataProvider.OleDBDataProvider;
dlg.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=www.mdb";
dlg.Text = "連接配接示範資料庫";
//隻能夠通過DataConnectionDialog類的靜态方琺Show出對話框
//不同使用dialog.Show()或dialog.ShowDialog()來呈現對話框
if (Microsoft.Data.ConnectionUI.DataConnectionDialog.Show(dlg) == DialogResult.OK)
{
_ConnectionString = dlg.ConnectionString;
_IsSQLServer = dlg.SelectedDataSource == Microsoft.Data.ConnectionUI.DataSource.SqlDataSource
|| dlg.SelectedDataSource == Microsoft.Data.ConnectionUI.DataSource.SqlFileDataSource;
}
}
catch (Exception ext)
MessageBox.Show(ext.Message);
_ConnectionString = null;
}
}
}
if (string.IsNullOrEmpty(_ConnectionString) == false)
{
if (_IsSQLServer)
{
SqlConnection conn = new SqlConnection(_ConnectionString);
return conn;
}
else
OleDbConnection conn = new System.Data.OleDb.OleDbConnection(_ConnectionString);
return conn;
}
return null;
}

龍騰一族至尊龍騎