2012-04-04 58 views
0

我開發了一個Web應用程序asp.net C#。SqlCommand CommandTimeout屬性

上的按鈕

點擊我連接到需要很長的時間來執行數據庫。 最初它用於超時。現在我基本上增加了commondtimeout財產,

cmd.CommandTimeout = 500; 

它處理paygroups的。 所需時間取決於該薪資組中的employess的數量。

所以我的問題是,如果paygroup的1需要較少的執行說2或3分鐘,將連接窗臺開放供在CommandTimeout屬性指定的時間?

如果是。我們可以估計處理時間並相應地設定時間。

+0

但是你爲什麼要設置較小的時間?僅設置上限 – 2012-04-04 05:59:33

+1

僅供參考,語言被命名爲「C#」,而不是「csharp」。 – 2012-04-04 06:03:25

+0

CommandTimeout是一個較高的閾值 - 如果命令以較少的時間完成,任何同步代碼將在命令完成後立即繼續。 – StuartLC 2012-04-04 06:10:37

回答

2

你爲什麼不嘗試一下這樣的事情

using (SqlConnection cn = new SqlConnection(connectionString)) 
{ 
    //your codee to perform database operation 
} 

這將被關閉的連接,一旦你的工作完成。

+0

這是否需要commandtimeout屬性? – 2012-04-04 06:08:36

+0

@kumarchaudhari - 你可以在其中設置沒有問題的值,但它只能用於這個scop。 – 2012-04-04 06:33:21

0
  1. 爲了讓查詢完全執行,請設置CommandTimeOut = 0
  2. 爲什麼需要這麼多時間?您的交易應該足夠快以讓其他查詢及時執行。
  3. SQL Profiler可以幫助您優化您的數據庫查詢。我假設你正在使用SQL Server