0

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

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类的任何命名空间/装配。我也尝试在我的应用程序中添加对dll“System.Data.SqlServerCE.dll”的引用。但不能添加引用。我需要为数据库连接做些什么?我需要做什么来在我的应用程序中使用SqlCeConnection类?我正在寻找可以在我的应用程序中使用SqlCeConnection类的东西?你能否提供任何解决方案或链接,我可以解决上述问题?如果我在上述情况下做错了任何事情,请指导我。

回答

4

SQL CE在此版本的工具中不可用。

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

+0

如果将第三方数据库软件包添加到应用程序的代码库中,请考虑您的内存占用情况。这可能没有必要的开销,取决于你在做什么。 – 2010-12-04 00:50:53

1

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

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

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

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

相关问题