2014-02-27 79 views
-1

我开始学习类,现在我正在研究一个涉及放在根上的不同文件夹上的几个类的项目,并且每个类都连接到相同的数据库。调用来自不同类的数据库连接变量

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

读过关于Customer类(这是我的例子)扩展了myvariables,但我无法确定这是否是最佳实践。

你能给我一个提示吗?

回答

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连接字符串,使其能无需重新编译应用即可进行更改。

+1

OP说php,对不对? – jycr753

+0

哇,所以他做到了。我正在阅读C#的帖子,然后碰到这个。 – Matt

+0

看起来好像他很满意..所以,这样吧:) – jycr753