c# - ADO.NET 连接字符串错误

标签 c# .net asp.net ado.net

首先,我是 C# 编程的新手。 我创建了一个专用类,用于根据以下代码从 Visual Studio 2010 中的 Web 服务应用程序的 app.config 获取连接字符串。

在构建代码时,我通过 catch block 收到以下错误:

"The name 'connection' does not exist in the current context".

显然连接超出了范围。

  1. 如何避免这个错误?
  2. 此处是否正确使用了 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/

相关文章:

c# - 单个全局变量 asp.net

c# - Azure Bot Framework FormFlow 复杂表单

c# - Lambda、封闭变量、显示类、可序列化和流行层

.net - 如何在十六进制汇编文件中找到方法?

c# - ASP.NET 数据库本地化

asp.net - 自定义主体在新请求时恢复为 GenericPrincipal

.net - 哪里可以下载 'MySql.Data, Version=6.2.2.0'?

c# - 无法注册后台任务

c# - 在 c sharp 中广泛使用哈希表

c# - 如何将数据从 C# 发送到 JavaScript/AJAX 网页