如何在类中设置数据库

时间:2013-05-22 21:52:03

标签: c# sql-server-ce

新的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);

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

2 个答案:

答案 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 模式。这些模式将帮助您更好地隔离数据访问逻辑

希望这有帮助