string strSql = "SELECT MAX(NewsID) AS MAXID FROM T_NewsInfo WHERE InfoType='" + Convert.ToString(ViewState["NewsKind"]) + "'";
DataSet dst = myDB.GetRS(strSql);
int MaxID = Convert.ToInt32(dst.Tables[0].Rows[0]["MAXID"]);
如果表为空表(没有记录),则Convert.ToInt32(dst.Tables[0].Rows[0]["MAXID"])就会出错!! 
出错提示为:无法将DBNull类型,转换为其它类型. 
望有高人指点! 注:myDB.GetRS()功能描述:根据传入的数据库查询SQL语句,返回Access数据库满足条件的数据集

解决方案 »

  1.   

    ...
    取之前先COUNT下
    或者
    if(dst.Tables[0].Rows[0]["MAXID"]!=DBNull.Value) 先判断下
    {
       int MaxID = Convert.ToInt32(dst.Tables[0].Rows[0]["MAXID"]);
    }
      

  2.   


    int MaxID =-1;
    //先判断是否有数据先
    if(dst.Tables[0].Rows.Count!=0)Convert.ToInt32(dst.Tables[0].Rows[0]["MAXID"]);
      

  3.   

    dst.Tables[0].Rows[0]["MAXID"]==null?"0":dst.Tables[0].Rows[0]["MAXID"]或者在sql语句中 isnull(MAX(NewsID),0)
      

  4.   

    dst.Tables[0].Rows[0]["MAXID"]!=DBNull.Value
     正。
      

  5.   

    dst.Tables[0].Rows[0]["MAXID"]!=DBNull.Value
     正。