专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > .NET Framework

在位置0处没有任何行解决办法

发布时间:2011-06-23 14:01:45 文章来源:www.iduyao.cn 采编人员:星星草
在位置0处没有任何行
原来 protected string bd(string str)
    {
        string sql = " select _imageurl from proimage where _imageid='" + str + "'";
        DataTable db = DbHelperSQL.Query(sql).Tables[0];
        return db.Rows[0]["_imageurl"].ToString();
    }
提示:在位置0处没有任何行
后来百度后改成
 protected string bd(string str)
    {
        string sql = string.Format(" select _imageurl from proimage where _imageid='{0}'", str);
        DataTable db = DbHelperSQL.Query(sql).Tables[0];
        if (db != null && db.Rows.Count > 0)
        {
            return db.Rows[0]["_imageurl"].ToString();
        }
    }
还是出错:product.db(string):并非所有的代码路径都返回值
product是DAL中的一个类
------解决方案--------------------
你这个就是没有值啊

原来你的:
protected string bd(string str)
{
  string sql = " select _imageurl from proimage where _imageid='" + str + "'";
  //将 select _imageurl from proimage where _imageid='1001'这样的拿到数据库执行一下看是否有数据???还是str包含空格了,还是压根没有记录,如果没有的话,肯定报错了。
  DataTable db = DbHelperSQL.Query(sql).Tables[0];
  return db.Rows[0]["_imageurl"].ToString(); //如果db是null值的话,肯定报你的那个错误了
}
==========》
重要的一点,你的_imageid这个字段在数据库中是神马类型?? 数值型??or 字符型???
protected string bd(string str)
{
   string sql = " select _imageurl from proimage where _imageid='" + str.Trim() + "'";//字符型
   //string sql = " select _imageurl from proimage where _imageid=" + int.Parse(str.Trim());//数值型,str是字符串型数字的话
   DataTable db = DbHelperSQL.Query(sql).Tables[0];
   string url = "";
   if(db!=null)
   {
      url = db.Rows[0]["_imageurl"].ToString();
   }
   else
   {
      url= "..\images\nopicture.jpg";  //如果没有找到对应的图片的话,返回一个默认的图片
   }
   return url;
}

------解决方案--------------------
 if (db != null && db.Rows.Count > 0)
  {
   str=db.Rows[0]["_imageurl"].ToString();
  }
return str;
------解决方案--------------------

//原来 
protected string bd(string str)
    {
        string sql = " select _imageurl from proimage where _imageid='" + str + "'";
        DataTable db = DbHelperSQL.Query(sql).Tables[0];
        return db.Rows[0]["_imageurl"].ToString();
    }
//提示:在位置0处没有任何行
//后来百度后改成
 protected string bd(string str)
    {
        string sql = string.Format(" select _imageurl from proimage where _imageid='{0}'", str);
        DataSet ds = DbHelperSQL.Query(sql);
       if(ds == null 
------解决方案--------------------
 ds.Tables.Count ==0 )
              return "";
        DataTable db = ds.Tables[0];
        if (db == null 
------解决方案--------------------
 db.Rows.Count == 0)
              return "";
        return db.Rows[0]["_imageurl"].ToString();
    }
//这样就可以了

------解决方案--------------------
1."提示:在位置0处没有任何行",检查你的 db.Rows.Count ?= 0
2."if (db != null && db.Rows.Count > 0)" 如果db == null 或 db.Rows.Count  == 0 你返回什么字符串?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: