如何在Window Phone 7应用程序中使用类SqlCeConnection?

时间:2010-12-03 08:02:48

标签: c# silverlight windows-phone-7 sql-server-ce database-connection

我正在开发window phone 7应用程序。我是Window Phone 7应用程序开发的新手。我想在我的应用程序中使用SQL Server紧凑版数据库进行数据库连接。因此,在我的应用程序中,我通过右键单击“数据连接”并创建了数据库。在服务器资源管理器中选择“添加连接”。之后,我使用打开的窗口中的“创建”按钮创建了数据库。然后我测试了我的连接。它很成功。我已经在我的应用程序中添加了创建的数据库文件,方法是右键单击Project Name&选择添加现有项目。数据库文件已添加为'ExpenseManagerDB.sdf'我已使用服务器资源管理器为此数据库创建了表。现在我想以编程方式为我的应用程序执行数据库连接。所以我使用以下代码

namespace ExpenseMgrMobAppl.Category
{
    public partial class Category : PhoneApplicationPage
    {
        private void Submitbutton_Click(object sender, RoutedEventArgs e)
        {
            string conSTR = "Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)) + "\\ExpenseManagerDB.sdf;Persist Security Info=False";
            SqlCeConnection connection = new SqlCeConnection(conSTR);
            SqlCeCommand cmd = new SqlCeCommand("select category_name form category where category_id=1", connection);
            connection.Open();
            textBlock1.Text = cmd.ExecuteScalar.ToString();
            connection.Close();
        }
    }
}

但是我找不到SqlCeConnection类的任何命名空间/程序集。我还尝试在我的应用程序中添加对'System.Data.SqlServerCE.dll'的引用。但无法添加引用。我需要做什么才能实现数据库连接?在我的应用程序中使用SqlCeConnection类需要做什么?我正在寻找可以在我的应用程序中使用SqlCeConnection类的东西?能否请您提供解决上述问题的解决方案或链接?如果我在上述情况下做错了,请指导我。

2 个答案:

答案 0 :(得分:4)

此版本的工具中没有SQL CE。

备选方案是存储在Web服务之后,第三方数据库源如Sterling或本地存储在文件中,例如使用XML和LINQ。

答案 1 :(得分:1)

正如Mick N所说,手机有一些第三方数据库。看看

但我的建议是仔细考虑您是否真的需要在手机上的应用程序中使用完整的关系数据库。如果您只是使用它来存储和检索数据,二进制序列化文件非常高效和轻量级。

请记住手机是一个资源非常有限的环境。在桌面上,我们会立即转向数据库以满足大多数数据存储需求,因为它使我们的生活更轻松。在电话中,我们需要更加小心并优化环境 - 即使这会让我们的程序员生活变得更加艰难。在考虑存储数据时,完整的数据库不一定是第一个选择。

如果你有一个数据要求,你觉得保证一个完整的关系数据库,那么你绝对应该使用上述数据库之一。