這裏是我做的代碼,它通常工作,但有時會失敗(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