sqlconnection 不报错

来源:百度知道 编辑:UC知道 时间:2024/05/29 13:50:55
我用sqlconnection连接C#与sql server
m_SqlConnection = new SqlConnection(connectionString )
这里connectionString我定义了一个不存在的数据库
但是
try{
m_SqlConnection = new SqlConnection(connectionString )
}catch(Exception e){…………}
捕捉不到错误
但是调试的时候又显示m_SqlConnection的servervision throw InvalidOperationException

try{

}

中的
Catch

要有错误才会报错呀。现在来分析您的代码

try{
m_SqlConnection = new SqlConnection(connectionString ) //本句只是实例化一个 connection 对象,并没有执行
}catch(Exception e){…………}

m_SqlConnection =new SqlConnection(); //如果不带参数m_SqlConnection=connectionString;

这种赋值语句怎么会错了
如果加一个句
m_SqlConnection.Open()
此时就会报错,为什么呢?因为你给的连接字符中数据库不存在.

m_SqlConnection.Open() 这定句用到你所提供的连接字符串去连接数据库。而m_SqlConnection = new SqlConnection(connectionString);只是创建一个SqlConnection实体对象,他的数据库连接字符串为connectionString;所以不会报错。

以下测试通过:

try{
m_SqlConnection = new SqlConnection(connectionString )
m_SqlConnection.Open(); //加上这句才会产生异常
}catch(Exception e){…………}

注:你上面那样的确没有产生异常,因这你并没有开始连接数据库!

只有当你开始打开连接时才会产生异常!

我按照你说的怎么调试都没有报这个异常
static void Main(string[] args)
{
string connectionString = "server=.;database=f;integrated security=true;";