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的连接字符串

71953b86883dd27c43d332261898f0bd.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、付费专栏及课程。

余额充值