新的C#dev在这里,我正在开发我的第一个桌面应用程序。我有一个类设置,将完成我的所有SQL Server CE数据库工作。在我的课程中,我设置了一些静态字符串,用于创建数据库,我将使用相同的连接字符串连接到数据库。
private static string DBFileName = "engine.msbdb";
private static string DBPassword = "msb";
private static string DBConnectionString = string.Format("DataSource=\"{0}\"; Password='{1}'", DBFileName, DBPassword);
现在我的问题出现了。在我对数据库采取操作的每个方法中,我是否需要在每个方法中建立新连接?我不一定在构造函数中创建连接,因为尚未创建数据库。我将如何在每个方法中使用相同的连接,这样每次我需要连接数据库时都不必重写所有代码?我只是编写一个连接到数据库并返回数据库连接对象的私有方法吗?只是不知所措,无法弄清楚从哪里开始。如果这个问题有点令人困惑,请提前抱歉,因为我仍然在学习它的工作原理。
答案 0 :(得分:0)
在类中为SqlCeConnection对象创建一个属性。从类中需要它的每个方法调用Open()和Close()。
private SqlCeConnection conn { get; set; }
答案 1 :(得分:0)
如果您的应用程序是小规模桌面应用程序,那么在每个方法中将SqlConnection创建为私有变量没有任何错误。尝试在using语句中使用它以更好地处理
using (SqlCeConnection connection = new SqlCeConnection(DBConnectionString)){
connection.Open();
using (SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM Emp",connection))
{
}
}
一旦掌握了C#和DotNet,请尝试阅读存储库和 UnitOfWork 模式。这些模式将帮助您更好地隔离数据访问逻辑
希望这有帮助