0

新的 C# 开发人员在这里,我正在开发我的第一个桌面应用程序。我设置了一个类来完成我所有的 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);

现在是我的问题。在我对数据库执行操作的每个方法中,是否需要在每个方法中建立新连接?我不一定能在构造函数中创建连接,因为尚未创建数据库。我将如何在每个方法中使用相同的连接,这样我就不必在每次需要连接到数据库时重写所有代码?我是否只是简单地编写一个连接到数据库并返回数据库连接对象的私有方法?只是不知所措,无法弄清楚从这里去哪里。如果这个问题有点令人困惑,请提前抱歉,因为我仍在学习它是如何工作的。

4

2 回答 2

0

如果您的应用程序是小型桌面应用程序,那么在每个方法中将 SqlConnection 创建为私有变量并没有错。尝试在 using 语句中使用它以更好地处理

using (SqlCeConnection connection = new SqlCeConnection(DBConnectionString)){
    connection.Open();

    using (SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM Emp",connection)) 
    {

    }
}

一旦您大致掌握了 C# 和 DotNet,请尝试阅读RepositoryUnitOfWork模式。这些模式将帮助您更好地隔离数据访问逻辑

希望这可以帮助

于 2013-05-23T00:17:33.680 回答
0

在您的类中为 SqlCeConnection 对象创建一个属性。从类中需要它的每个方法调用 Open() 和 Close()。

private SqlCeConnection conn { get; set; }
于 2013-05-22T22:33:46.223 回答