我正在運行一個Windows窗體基礎應用程序,我使用httpwebrequest的後臺工人類。並且使用網頁瀏覽器控件,都將數據保存到Excel表格中。 這是工作的罰款或者也許是運氣,現在我看到一段代碼卡上的INSERT語句,它只是在代碼堵塞插入查詢
myCommand.ExecuteScalar();
一段時間我看到這個之後不出來。而:
CLR已經無法從COM上下文0x7833a8轉換到COM上下文0x7838b0 60秒。擁有目的地上下文/公寓的線程很可能要麼進行非抽水等待,要麼處理非常長的運行操作而不抽取Windows消息。這種情況通常會對性能產生負面影響,甚至可能導致應用程序無法響應或內存使用量不斷累積。爲了避免這個問題,所有的單線程單元(STA)線程都應該使用抽取等待原語(比如CoWaitForMultipleHandles),並在長時間運行的操作中定期抽取消息。
查詢它卡住是:
try
{
myCommand.CommandText = "Insert into [outputsheet$] (website,[facebook page],DealTitle,Dealtime,Dealprice,Dealvalue,Dealdiscount,Dealsaving,Linktitle,address,Category,[Type of Deal]) Values('" +
webaddress.Replace("'", "''") + "','" + facbookaddress.Replace("'", "''") + "','" + title.Replace("'", "''") + "','" + dealtime.Replace("'", "''") + "','" +
amount.Replace("'", "''") + "','" + value.Replace("'", "''") + "','" + discount.Replace("'", "''") + "','" + saving.Replace("'", "''") + "','" +
titleweb.Replace("'", "''") + "','" + address.Replace("'", "''") + "','" + categoryName.Replace("'", "''") + "','Now Deals')";
myCommand.ExecuteScalar();
}
catch (Exception exp)
{
}
請幫助,有什麼我需要做的。如何避免它。 謝謝
真的沒有必要像這樣「清理」你的SQL ......現有的庫更好。 – 2012-03-09 23:00:41
@ EdS.i我不確定你在說什麼:S。 – confusedMind 2012-03-09 23:11:11
所有調用'.Replace(「'」,「''」);' – 2012-03-09 23:13:28