0

我想为与数据库的所有交互编写一个类并且有一些问题。

class Sqlconnection
{
    private string connection = null;

    private string result = null;

    public SqlConnection dbConnection() 
    {
        SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionInfo"].ConnectionString);
        try
        {
            connection.Open();
            return connection;
        }
        catch (SqlException ex)
        {
            return false;
        }
    }
}

我无法使用 this.connection 引用该类。我想在connectionCmd和connectionClose等其他一些功能中使用连接。如何将 sql 连接字符串引用到类?并且返回 false 将不起作用,但这是在主程序中检查的必要条件,如果连接建立成功?

谢谢你们!

4

3 回答 3

2

您想从不同的类访问私有类的私有成员吗?如果我的阅读正确,您需要查看访问修饰符以及私有、公共、静态和内部(以及其他)的含义。如果我没有正确阅读您的内容,我深表歉意,请忽略我的评论或告诉我戴上眼镜。

于 2013-11-15T09:58:24.020 回答
0

首先,您应该在 OO 编码方面提高自己。如果你想为所有 SQL 任务建立一个中心类,为什么要重新发明轮子。你为什么不试试这个:

http://www.microsoft.com/en-us/download/details.aspx?id=435

于 2013-11-15T10:10:53.083 回答
0

你的第一个问题是你为你的班级选择了可怕的名字。太容易混淆了SqlconnectionSqlConnection。因此,我两次误读了您的代码。所以给你的班级起一个合适的名字作为初学者。接下来,决定是否要封装SqlConenction。如果它让应用程序的其余部分能够访问连接,那么编写一个类来处理与数据库的所有交互就没有什么意义了。

您可能正在执行以下操作:

class DatabaseAccessLayer
{
    private readonly string connectionString;
    private SqlConnection connection;

    public DatabaseAccessLayer(string connectionString)
    {
        this.connectionString = connectionString;
    }

    public bool CreateDbConnection() 
    {
        try
        {
            connection = new SqlConnection(connectionString);
            connection.Open();
            return true;
        }
        catch (SqlException ex)
        {
            return false;
        }
    }

    // Add other methods to interact with the database
}
于 2013-11-15T10:00:11.990 回答