2010-06-27 116 views
2

我想创建一个使用本地数据库的WPF应用程序。我创建了一个简单的数据库并添加了它,这样我可以在我的解决方案资源管理器中看到我的数据库NameDB.sdf如何从.NET应用程序连接到SQL Server Compact?

如何从我的应用程序连接到它?

我试图与这只是尝试连接到数据库中的一个空的应用程序:

... 
using System.Data.SqlServerCe; 
using System.Data; 

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     SqlCeConnection connection = 
      new SqlCeConnection(@"Data Source=|DataDirectory|\NameDB.sdf"); 
     SqlCeCommand command = new SqlCeCommand("SELECT * FROM Names"); 
     SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(command); 
     DataSet ds = new DataSet(); 
     dataAdapter.Fill(ds); 
     Console.WriteLine("Done"); 
    } 
} 

,但我得到XamlParseException此消息:

“的类型构造函数的调用” WpfDBApp.MainWindow'匹配指定的绑定约束抛出异常。'行号“3”和行位置“9”。

我的连接字符串是@"Data Source=|DataDirectory|\NameDB.sdf",因为我想使用“本地”路径而不是完整路径。这是从我链接到下面的教程。

如何创建连接到本地数据库的简单应用程序?

我试图关注SQL Server 2005 Compact Edition Data Access with the SqlCeResultSet and Visual C#.NET,但它似乎没有以与Visual Studio 2010 and WPF相同的方式完成。

回答

4

你没有初始化您的连接见this MSDN example

SqlCeCommand command = new SqlCeCommand("SELECT * FROM Names", connection); 

现在就来试试。

1

问题是您的连接字符串。格式应为 “数据源=”{FULLPATH到YourDatabase.sdf}”

更多细节

+0

我不想使用FullPath,我想使用本地路径。我已将连接字符串更改为'new SqlCeConnection(@“Data Source = | DataDirectory | \ NameDB.sdf”);'但它没有工作 – Jonas 2010-06-27 18:31:29

+0

“你无法从这里”......你必须使用完整的路径beca使用SQL服务器不在应用程序的上下文中运行,并且不知道本地目录。你必须挖掘完整的道路。 – dar7yl 2010-06-27 20:03:17

相关问题