dataconnectiondialog mysql_MySQL的DataConnectionDialog | 學步園

這兩天做一個小工具,需要讓用戶提供數據庫連接字符串,銼方法是讓用戶輸入一個字符串,稍好點方式的是提供一個字符串讓用戶去改,更好呢,就是提供一個像VS中那樣一個可以生成數據庫連接字符串的對話框了。從很久以前開始,M$就提供了這樣的組件,我至少在VS的安裝目錄下發現了兩個Assembly中包含了DataConnectionDialog,分別是:C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.Data.ConnectionUI.Dialog.dll和C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Data,但是今天我們不使用這兩種方式,為啥咧?原因是他們裡面沒有帶MySQL類型的數據源,雖然也可以通過不算十分複雜的過程將MySQL加進來,但是對於懶人來說,什麼都不做豈不更好,我正好就是個懶人,在允許的情況下,我更願意讓腦神經放鬆下來,去干點更值當點的工作。

最初覺得既然使用了MySQL Connector/Net,那這個Dialog就應該是在MySql.Data.dll中了,但是一陣好找發現這個MySql.Data命名空間下,連個繼承Form的類都沒有,貌似不可能提供這種對話框的功能了,無奈之下想起了MySql Connector/Net應該是提供源代碼的,於是到MySql的官網上下載了一份源代碼,看看到底內部是怎麼做的,很失望,依然是沒有找到,不過在這份源代碼的解決方案中發現了一個未能正常加載的項目,MySql.VisualStudio!哈哈,看着名字就像,按常理來說,應該有個MySql.VisualStudio.dll存在某處,F3一下,果然,在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Oracle\MySQL Connector Net\6.4.4文件夾中找到了,於是趕緊引用到項目中,一試,果然獲得了MySql的連接字符串

fb210a10a1cafe929a5b6c49bbaaff11.png

示例代碼:

private void btnConnect_Click(object sender, EventArgs e)

{

ConnectDialog dialog = new ConnectDialog();

dialog.StartPosition = FormStartPosition.CenterScreen;

if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

try

{

txtConnect.Text = dialog.Connection.ConnectionString;

}

catch

{

}

}

}

這裡稍值得說明的是為啥要放在一個try里呢,原因是,當你點擊了"Connect"按鈕後,其實這個Dialog只是簡單的返回了一個DialogResult.OK,在調用Dialog.Connection屬性時會嘗試連接數據源,如果你提供的連接選項有問題,那就要報異常了,因此包在一個try...catch中了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值