第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法將對象從DBNull強(qiáng)制轉(zhuǎn)換為其他類型

無法將對象從DBNull強(qiáng)制轉(zhuǎn)換為其他類型

30秒到達(dá)戰(zhàn)場 2019-09-03 19:44:46
無法將對象從DBNull強(qiáng)制轉(zhuǎn)換為其他類型。我有一個以下函數(shù)拋出上述錯誤。我正在處理存儲過程和C#代碼中的所有空值。那么它在哪里得到這個錯誤?我可以在catch塊中看到錯誤。但我不明白以下create()中哪一行得到錯誤。public Boolean Create(DataTO DataTO){    IDbTrans transaction = null;    IDbCmd IDbCmd;    string EncryptedPassword = Encrypt(DataTO.txtPwd);    Base dataAccCom = null;    try    {        dataAccCom = Factory.Create();        dataAccCom.OpenConnection();        transaction = dataAccCom.BeginTransaction();        IDbCmd = dataAccCom.CreateCommand("sp_Register", true);        dataAccCom.ExecuteNonQuery(IDbCmd);        DataTO.Id = Convert.ToInt64(dataAccCom.GetParameterValue(IDbCmd, "op_Id"));        transaction.Commit();        return true;    }    catch (System.Exception ex)    {        if (transaction != null)        {            transaction.Rollback();        }        throw ex;    }    finally    {        transaction = null;        if (dataAccCom != null)        {            dataAccCom.CloseConnection();        }        dataAccCom = null;        IDbCmd = null;    }}public string ReplaceNull(string value){    if (value == null)    {        return "";    }    else    {        return value;    }}public DateTime ReplaceNull(DateTime value){    if (value == null)    {        return DateTime.Now;    }    else    {        return value;    }}public double ReplaceNull(double value){    if (value == null)    {        return 0.0;    }    else    {        return value;    }}
查看完整描述

3 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊

錯誤原因:在面向?qū)ο蟮木幊陶Z言中,null表示缺少對對象的引用。DBNull表示未初始化的變體或不存在的數(shù)據(jù)庫列。來源:MSDN


我遇到的實際代碼錯誤:


在更改代碼之前:


    if( ds.Tables[0].Rows[0][0] == null ) //   Which is not working


     {

            seqno  = 1; 

      }

    else

    {

          seqno = Convert.ToInt16(ds.Tables[0].Rows[0][0]) + 1;

     }

更改代碼后:


   if( ds.Tables[0].Rows[0][0] == DBNull.Value ) //which is working properly

        {

                    seqno  = 1; 

         }

            else

            {

                  seqno = Convert.ToInt16(ds.Tables[0].Rows[0][0]) + 1;

             }

結(jié)論:當(dāng)數(shù)據(jù)庫值返回null值時,我們建議使用DBNull類,而不是像C#語言一樣指定為null。


查看完整回答
反對 回復(fù) 2019-09-03
  • 3 回答
  • 0 關(guān)注
  • 1176 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號