使用Visual Studio 2013中的SqlCeResultSet进行SQL Server Compact Edition数据访问

时间:2015-08-06 19:30:42

标签: c# visual-studio-2013 sql-server-ce

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

这是我的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) 

抛出此异常:

  

类型'System.InvalidOperationException'的未处理异常   发生在System.Data.SqlServerCe.dll中的其他信息:   ExecuteResultSet:尚未初始化Connection属性。

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

enter image description here

我已安装:

enter image description here

任何想法或建议都将受到赞赏。

提前致谢。

更新

问题可能是SQL Server Compact已停止使用Visual Studio 2013,请参阅此question。在这种情况下,我的代码是否存在任何替代方案?

1 个答案:

答案 0 :(得分:2)

您错过了教程中的第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;
相关问题