none
請問個位大大我從SQL中讀取資料當某欄位在資料庫為空白時產生錯誤 請問各位大大該如何解? RRS feed

  • 問題

  • 請問個位大大我從SQL中讀取資料 當遇到資料庫中 某欄位為空白時會產生錯誤 請問該如何解?

    我本來用IIF判斷 可是還是有問題

    謝謝各位大大

    2015年5月11日 上午 03:57

解答

  • DBNull 是不可以 ToString() 的


    if (SQLreader2(14) != DBNull.Value)
    {
        Form1.CName.Text=SQLreader2(14).ToString();
    }


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆標示為解答以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to clickMark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2015年5月11日 上午 07:57

所有回覆

  • 你可以先用 IsDBNull() 來判斷它是否是 NULL 值。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2015年5月11日 上午 03:58
    版主
  • 請將程式改成這樣再試看看:

    Form1.CName.Text=IIF(SQLreader2.IsDBNull(14), "", SQLreader2(14).ToString)

    2015年5月11日 上午 04:13
  • 親愛的大大:

             一樣的結果 請問還有其他方法嗎?

    感謝你

    2015年5月11日 上午 07:01
  • 這樣呢?

    Form1.CName.Text=Convert.ToString(SQLreader2(14))

    2015年5月11日 上午 07:08
  • 親愛的大大:

    還是不行

    因為此欄位使用者通常不會填入資料值 所以在資料庫中欄位值為空白

    2015年5月11日 上午 07:23
  • DBNull 是不可以 ToString() 的


    if (SQLreader2(14) != DBNull.Value)
    {
        Form1.CName.Text=SQLreader2(14).ToString();
    }


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆標示為解答以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to clickMark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2015年5月11日 上午 07:57
  • IIf 內各引數均不得為 Null ,若 SQLreader2(14) 為 Null ,雖然判斷敘述閃掉了,可是 IIf 第三個引數仍然沒閃掉。

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2015年5月11日 下午 12:36
  • 您好,
    您那個錯誤訊息似乎是因為 DataReader 讀不到資料所造成的錯誤 說!

    您是用 Source Code 直接下去 Debug 的嗎?

    是否因為 Debug 時,Source 跟 DLL or EXE 的 Code 是不同所造成的誤會呢 ?


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    • 已編輯 亂馬客 2015年5月12日 下午 03:43
    2015年5月11日 下午 02:12
  • 欄位值為空白經由Convert.ToString處理是沒有問題的, 您要不要確認看看是否是其他地方的問題
    2015年5月12日 上午 04:00