原来 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 你返回什么字符串?