本文最后更新于 997 天前,其中的信息可能已经有所发展或是发生改变。
經過Debug查出來,是在OracleHelper.cs中的GetDataByPage()函數中以及checkfile.cs中的getdatalimit()函數中的if判斷條件運算符引起的。
上圖是在OracleHelper.cs中,原始檔if條件中將整個條件!非處理,下圖同。
例 if(!checkfile.getdatalimit()) ds.Tables[0].Rows.Clear();
可以看到這個if(!條件):當條件是假時,執行if後面的語句,而後面的語句是將oracle抓出的資料清空的動作。
當條件是真時,後面清空語句才不會執行。
所以推導出,條件的函數應該返回的值是真,才行。
上圖中,設定一個文件路徑,在if中進行判斷,而這樣一個文件在系統中確實是不存在的。
所以if中的條件是假,即文件不存在。但由於原始檔里給條件加了!非處理,
例 if(!File.Exists(path))
所以,整個條件是真,就會執行if后的語句。而這個if後面的語句嵌套了if,從上面得知,需要返回真 ,才行,後續再斷點到嵌套的if去分析。