我开始上课,现在我正在开发一个项目,该项目涉及根目录上不同文件夹上的几个类,每个类都连接到同一个数据库。
有没有办法在某个地方存储连接变量并在每个类上获取它们? (比如包含选项)。
阅读关于班级客户(这是我的例子)扩展了myvariables,但我无法确定这是否是最好的做法。
你能给我一个提示吗?
答案 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
中,以便可以在不重新编译应用程序的情况下对其进行更改。