SQL Visual Studio 2013 年使用 SqlCeResultSet 访问服务器精简版数据

SQL Server Compact Edition Data Access with the SqlCeResultSet in Visual Studio 2013

我想在 Visual Studio 2013 年像这样 tutorial 使用 SqlCeResultSet。

这是我的 class Form1 的代码:

private SqlCeConnection _conn;
        public Form1()
        {
            InitializeComponent();
            _conn = new SqlCeConnection(@"Data Source = |DataDirectory|\Northwind.sdf");
            this.dataGridView1.AutoGenerateColumns = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SqlCeCommand cmd = new SqlCeCommand("SELECT [Employee ID], [Last Name], [First Name], Photo FROM Employees",_conn);
            SqlCeResultSet resultSet = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable);
            this.bindingSource1.DataSource = resultSet;
        }

现在我尝试完全按照我的数据库教程进行操作,并在执行以下行时:

 SqlCeResultSet resultSet = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable) 

抛出这个异常:

An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.SqlServerCe.dll Additional information: ExecuteResultSet: Connection property has not been initialized.

有关详细信息,这是我的解决方案资源管理器:

我已经安装了:

如有任何想法或建议,我们将不胜感激。

提前致谢。

正在更新

可能问题在于 SQL Server Compact 从 Visual Studio 2013 年开始停产,请参阅此 question。在这种情况下,我的代码有任何替代方案吗?

您错过了教程中的第 24 步 - 您需要打开连接:

 SqlCeCommand cmd = new SqlCeCommand("SELECT [Employee ID], [Last Name], [First Name], Photo FROM Employees",_conn);
 _conn.Open();
 SqlCeResultSet resultSet = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable);
 this.bindingSource1.DataSource = resultSet;