try.........catch 问题
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection conn = new SqlConnection("data source=192.168.1.40;database=test;user id=test;password=test");
conn.Open();
MessageBox.Show("打开成功");
conn.Close();
}
catch
{
MessageBox.Show("打开失败");
}
}
为什么 当连接数据库失败时, 程序会死掉 (在 conn。open()这里死掉的) 过了很久才会 进入 catch 块 执行 而不是 马上 进入catch块
------最佳解决方案--------------------conn.Open();表示正在连接数据库中,里面可能包括失败重试等操作,当然时间长了
------其他解决方案--------------------你没设置timeout...默认尝试连接时间好像是30秒
SqlConnection conn = new SqlConnection("data source=192.168.1.40;database=test;user id=test;password=test;timeout=10");
不记得是不是这么写的了,反正就这样的
------其他解决方案--------------------conn.Open()如果不能连接上就会等待服务器给出响应,直到timeout,然后报出异常,在捕捉
------其他解决方案--------------------conn.Open()如果不能连接上就会等待服务器给出响应,直到timeout,然后报出异常,在捕捉
------其他解决方案--------------------string myconnection = "server=(local);database=news;uid=sa;pwd=123456";
SqlConnection conn = new SqlConnection(myconnection);
换成这个试试?
------其他解决方案-------------------- catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
------其他解决方案--------------------看看数据库地址 数据库名称 用户名 密码 是否正确,搞个正确的试试
------其他解决方案--------------------连接速度慢,还要匹配
------其他解决方案--------------------学习一下
------其他解决方案--------------------打开的资源要及时释放:
try
{
SqlConnection conn = new SqlConnection("data source=192.168.1.40;database=test;user id=test;password=test");