从不同的类调用数据库连接变量

时间:2014-02-27 14:42:19

标签: php database class

我开始上课,现在我正在开发一个项目,该项目涉及根目录上不同文件夹上的几个类,每个类都连接到同一个数据库。

有没有办法在某个地方存储连接变量并在每个类上获取它们? (比如包含选项)。

阅读关于班级客户(这是我的例子)扩展了myvariables,但我无法确定这是否是最好的做法。

你能给我一个提示吗?

1 个答案:

答案 0 :(得分:1)

您可以创建一个静态类来为您完成所有数据库工作,并公开您需要的方法。

public static class DatabaseUtils
{
    private const string ConnectionString = "...";

    public static int GetCustomerId(string firstName, string lastName)
    {
        try
        {
            using (var connection = new SqlConnection(ConnectionString))
            using (var command = new SqlCommand("sql stuff"))
            {
                var result = command.ExecuteScalar();
                if (result == DBNull.Value)
                    return -1;

                return (int) result;
            }
        }
        catch (Exception ex)
        {
            // Log errors  + ex
        }
    }

    // Other methods to interact with the database
}

然后你可以调用类似的方法:

int id = DatabaseUtils.GetCustomerId("My", "Name");

如果这最终将成为已部署的应用程序,您可能希望查看将连接字符串存储在app.config中,以便可以在不重新编译应用程序的情况下对其进行更改。