首先,我是 C# 编程的新手。 我创建了一个专用类,用于根据以下代码从 Visual Studio 2010 中的 Web 服务应用程序的 app.config 获取连接字符串。
在构建代码时,我通过 catch block 收到以下错误:
"The name 'connection' does not exist in the current context".
显然连接超出了范围。
- 如何避免这个错误?
- 此处是否正确使用了 Dispose 方法?
public class FCSConnection : IDisposable
{
public string GetDefaultConnectionString()
{
string DefaultConnectionString = null;
try
{
DefaultConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection connection = new SqlConnection(DefaultConnectionString);
connection.Open();
return DefaultConnectionString;
}
catch (Exception)
{
if (DefaultConnectionString != null)
{
connection.Dispose();
}
}
return DefaultConnectionString;
}
public void Dispose()
{
throw new NotImplementedException();
}
}
最佳答案
确切的编译器消息是指您的 catch
语句:
connection.Dispose();
这里,connection
是一个未知名称,因为它是在 try
block 中声明的。
至于你的整个代码,我认为也是错误的。如果您希望您的FCSConnection
类封装SQL 连接,您应该将connection
声明为私有(private)成员,然后在您的Dispose()
中处理它方法。
关于c# - ADO.NET 连接字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057199/