我正在开发一个WinFrom应用程序。我正在使用SDF数据库来存储数据。 下面的代码片段将数据从DataBase加载到datagrid挂起了应用程序。当我点击数据网格时, “无效尝试调用方法当SqlResultSet关闭时可更新”正在抛出异常。使用SqlCeConnection.Close()挂起应用程序
public partial class Form1 : Form
{
private SqlCeConnection _conn;
public Form1()
{
InitializeComponent();
_conn = new SqlCeConnection(@"Data Source = |DataDirectory|\Database1.sdf");
this.dataGridView1.AutoGenerateColumns = true;
}
private void Form1_Load(object sender, EventArgs e)
{
SqlCeCommand sqlcmd = new SqlCeCommand();
sqlcmd.Connection = _conn;
sqlcmd.CommandText = "SELECT ID, UserName FROM Table1";
_conn.Open();
SqlCeResultSet rs = sqlcmd.ExecuteResultSet(ResultSetOptions.Scrollable);
this.bindingSource1.DataSource = rs;
_conn.Close();
}
}
任何人都可以请看看它吗?
如果我评论_conn.Close(),它正在工作,并且数据网格正在加载数据。 – mlg 2012-01-31 10:35:17
你可以试试[SqlCeCommand.ExecuteReader](http://msdn.microsoft.com/en-us/library/0c9att46(v = vs.85).aspx)? – 2012-01-31 10:50:06
嗨阿马尔,ExecuteReader正在工作。非常感谢.ExecuteReader或SqlCeResultSet对于大量记录更快?我认为SqlCeResultSet更快。不过不确定。 – mlg 2012-01-31 11:07:07