詳細述說ADO逾時相關問題介紹
在使用串連ADO逾時。其混合了函數語言和物件導向程式編製語言,並且完美的適用於編程、演算法、技術和探索性開發,因此可以在使用的過程當中感受到趣味性和吸引力。
使串連ADO逾時
活動的突然增長可能使資料庫伺服器變得十分笨拙,大量增加建立資料庫連接的時間。結果是,過長的串連延時將降低資料庫的效能,用Connection對象的ConnectionTimeout,您可以限制放棄串連嘗試並發出錯誤訊息之前應用程式等待的時間。例如,下面的指令碼設定ConnectionTimeout屬性,在取消串連嘗試之前等待20秒:
Set cn=Server.CreateObject("ADODB.Connection") cn.ConnectionTimeout = 20 cn.Open "FILEDSN=MyDatabase.dsn" 沒有人可以同時閱讀大量的資料,象下一頁或者無數的分頁這樣的形式我不知道到底有多少人會去看,因此要提高ADO效率,不能用簡單的Timeout來控制,應該是全面的。我建議你多多利用檢索表單,結果只出現一定數量就可以了。
並非是很多記錄,而是需對大量的資料進行處理後匯總,一條查詢語句經最佳化後仍需30秒以上,ADO逾時而ASP的逾時在30秒準時報錯,Timeout 我曾經也試過但沒有任何效果,我是通過ODBC串連到SQL Server 7.0 再在ASP中用ADO與ODBC 相聯,不知這些資料來源是否支援該屬性,如果不支援,是否還有其它方法,謝謝您的回複!
使用強型別DataSet時,你能給DataSet 的XML大綱定義語言(XSD)作註解以確保強型別DataSet正確的處理空(Null)的引用。空值(nullValue)注釋使你能用String.Empty這個特定值代替DBNull、保持了Null 參考、或者產生一個異常。選擇其中的哪個依賴於應用程式的內容,預設情況下遇到Null 參考將產生一個異常。
重新整理DataSet中的資料
如果你希望使用更新後的值從伺服器重新整理資料集中的值,使用DataAdapter.Fill。如果主鍵定義在資料表上,DataAdapter.Fill基於主鍵匹配新行,並把伺服器的資料改成已存在的行。被重新整理行的RowState設定為Unchanged,即使在重新整理前它被修改過。注意如果給資料表定義了主鍵,DataAdapter.FillADO逾時添加新行可能重複主索引值。
用於在某個時候只返回一頁記錄的技術之一是建立一個SQL語句,該語句包含一個WHERE和ORDER BY子句,並有TOP判定。這種技術依賴於識別每個唯一行的方法。當導航到下一頁的記錄時,修改WHERE子句使它包含所有唯一標識比當前頁標識大的記錄;
當導航到前面一頁時,修改WHERE子句使它包含所有唯一標識比當前頁標識小的記錄。對於兩種查詢都只返回記錄的TOP頁的記錄。當導航到前面一頁時需要對記錄進行降序排列,這將返回查詢的末尾頁(如果需要可以在顯示前對記錄進行重新排序)。
另一種技術是建立一個SQL語句包含TOP判定和嵌入的SELECT語句。這種技術不ADO逾時是基於唯一的識別每行的方法。使用這種技術的第一步是把頁面的大小與想得到的頁面數量相乘。接著把該數值傳遞給SQL查詢的TOP判定,並按升序排序。接著把這個查詢嵌入另一個查詢,該查詢從嵌入的查詢結果中選擇TOP頁面大小,按降序排列。本質上返回的是嵌入的查詢的末尾頁面。