none
[VB.2005] 原來運行正常的程式,突然出現" 位置 0 沒有資料列 " 的錯誤?? RRS feed

  • 問題

  • 原來程式都很正常的運行...但最近在幾台電腦上開始出現異常,執行時會出現【位置 0 沒有資料列】的錯誤...

    我試著在我的開發電腦執行,Debug的話都沒有問題,但編釋成exe來執行的話就會出現一様的【位置 0 沒有資料列】錯誤...

    可是幾個月前我在我的開發電腦執行過編釋的exe,是沒有問題的(這期間都沒有更新程式)...

    試了很久發現應該是這個語法錯誤,【ds.Tables(0).Rows.Count > 0】錯誤...

    可是大家不都是這様在檢查 table 是否有值的不是嗎?? 是最近有什麼 Microsoft 的更新造成的嗎??

    怎麼辦啊...程式裡有大量的這種檢查...麻煩專家們幫忙測一下...@@

     

    2012年1月31日 上午 04:45

解答

所有回覆

  • 試了很久發現應該是這個語法錯誤,【ds.Tables(0).Rows.Count > 0】錯誤...

    如何判斷是這句有問題?

     

    有時候pdb檔沒更新的話,偵錯資訊裡的行號是不正確的。

    2012年1月31日 上午 04:49
  • 應該是您的程式中有寫了類似以下的程式碼才會出現此錯誤吧

     ds.Tables(0).Rows(0) => 位置 0 沒有資料列


    2012年1月31日 上午 04:56
  • 您好

    有判斷 ds.Tables.Count 嗎?

            If ds.Tables.Count > 0 AndAlso ds.Tables(0).Rows.Count > 0 Then
    


    歡迎參觀我的Blog.NET菜鳥自救會
    2012年1月31日 上午 05:26
  • 這應該跟Microsoft Update無關,不曉得你是用什麼方式把資料放到DataSet的,假設是SqlDataAdapter,或許可以從SqlDataAdapter的select command來檢查看看,看相同的t-sql敘述在SQL Server中是否可以順利取得資料。
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2012年1月31日 上午 05:49
  • 試了很久發現應該是這個語法錯誤,【ds.Tables(0).Rows.Count > 0】錯誤...

    如何判斷是這句有問題?

     

    有時候pdb檔沒更新的話,偵錯資訊裡的行號是不正確的。

    您好,我是一行一行的試(mark,然後編釋,測試),試了很久才發現在檢查Rows.Count 是否大於 0 的時候就錯誤了...
    2012年1月31日 上午 05:50
  • 可能ds裡是空的,所以到ds.Table(0)就發生錯誤了,試試看小歐大的方法,在前面或是外面再加上判斷" ds.Tables.Count > 0"吧
    2012年1月31日 上午 06:07
  • 應該是您的程式中有寫了類似以下的程式碼才會出現此錯誤吧

     ds.Tables(0).Rows(0) => 位置 0 沒有資料列

    總算是找到了...

    真的是有一個比較多層次的function裡,漏寫了 ds.Tables.Count > 0 判斷...

    導致 ds.Tables(0).Rows(0) 錯誤了...以前可能是條件不滿足,所以沒踩到這個地雷...

    謝謝各位的幫忙...^^

    2012年1月31日 上午 07:42