这里是我做的代码,它通常工作,但有时会失败(1开出4次以上或以下):如何使用字符串列表作为列表框的DataSource
...
List<string> _items = new List<string>();
...
using (SqlCeConnection con = new SqlCeConnection(Globals.conString))
{
string codbultocomp = null;
con.Open();
using (SqlCeCommand cmd = new SqlCeCommand("SELECT codbultocomp FROM envios WHERE [email protected] AND [email protected]", con))
{
cmd.Parameters.AddWithValue("@codigodestino", codigoDestino);
cmd.Parameters.AddWithValue("@pendiente", "pendiente");
SqlCeDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
codbultocomp = reader["codbultocomp"].ToString();
_items.Add(codbultocomp);
}
reader.Close();
}
listBox1.DataSource = _items;
}
当它失败的应用冻结,如果我暂停调试,它会停在最后一个大括号中。我尝试使用try/catch块显示错误,但它没有显示任何内容并停在同一个地方。我也试着看列表框数据源显示在“观察”列表中的这个错误:
Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.
任何想法我做错了什么?
这是在后台线程上运行? –
这是一个Windows CE应用程序。应用程序从带有不同选项的菜单开始,此代码来自其中一个选项。当在菜单中选择一个选项时,会出现一个代表该选项的新窗体,并且菜单窗体将保留。 – rfc1484