{
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中的一个类
14 个解决方案
#1
你这个就是没有值啊
原来你的:
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;
}
原来你的:
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;
}
#2
if (db != null && db.Rows.Count > 0)
{
str=db.Rows[0]["_imageurl"].ToString();
}
return str;
{
str=db.Rows[0]["_imageurl"].ToString();
}
return str;
#3
对于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;
}
还是出错,url = db.Rows[0]["_imageurl"].ToString();
在位置0处没有任何行
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;
}
时也出错string sql = " select _imageurl from proimage where _imageid=" + int.Parse(str.Trim());输入字符串的格式不正确
{
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;
}
还是出错,url = db.Rows[0]["_imageurl"].ToString();
在位置0处没有任何行
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;
}
时也出错string sql = " select _imageurl from proimage where _imageid=" + int.Parse(str.Trim());输入字符串的格式不正确
#4
那你的变量str时一个数字字符串嘛??
#5
是吧,在数据库中的_imageid的值是0001、0002
str是上面一个类中定义的string型
public void info()
{
string name = "";
if (Request.QueryString["title"] != null && Request.QueryString["title"] != "")
{
name = Request.QueryString["title"].ToString();
}
//string name = Request.QueryString["title"].ToString();
string str = @"select product._id, product._imageid, procate._catename,
product._title,product._localprice from product , procate where
product._cateid=procate._cateid and _title like '%" + name + "%' ";
SqlDataReader sdr = Common.DbHelperSQL.ExecuteReader(str);
if (sdr.Read())
{
DataSet ds = Common.DB.PagedataSet(str, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "helpcate");
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
else
{
Label1.Text = "没有您要搜索的商品!!!";
}
sdr.Close();
}
str是上面一个类中定义的string型
public void info()
{
string name = "";
if (Request.QueryString["title"] != null && Request.QueryString["title"] != "")
{
name = Request.QueryString["title"].ToString();
}
//string name = Request.QueryString["title"].ToString();
string str = @"select product._id, product._imageid, procate._catename,
product._title,product._localprice from product , procate where
product._cateid=procate._cateid and _title like '%" + name + "%' ";
SqlDataReader sdr = Common.DbHelperSQL.ExecuteReader(str);
if (sdr.Read())
{
DataSet ds = Common.DB.PagedataSet(str, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "helpcate");
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
else
{
Label1.Text = "没有您要搜索的商品!!!";
}
sdr.Close();
}
#6
打个断点,跟踪一下程序,很快就能发现问题的。
#7
我不会跟踪程序啊,能不能简单说一下
#8
将光标定位在你搜索按钮事件中的第一行代码前面,然后按下 F9,如果使用到Session等信息的话,需要设置一个启动页面,如Login.aspx,如果没有的话,直接按 F5,启动调试,当点击按钮后,就会执行到断点设置处停止,然后你一次一次的按 F11,逐语句执行,过程中,可以通过将鼠标移到变量上,可以观察变量的值,也可以查看监视窗口,输入变量值,跟踪该变量的值变化。
#9
将光标定位在你搜索按钮事件中的第一行代码前面,然后按下F9
就去掉了断点,没有其它反应
额.........如果你现在有时间的话,能不能我把程序发给你帮我改一下
就去掉了断点,没有其它反应
额.........如果你现在有时间的话,能不能我把程序发给你帮我改一下
#10
你的问题基本是这样的,DateTable 在if语句里面判断为空了
可以像下面这样写
在你的代码里面 你判断如果tb的行数大于0,则返回,那等于0呢?参照函数的返回值类型,你仍然要返回一个表,只不过是空表而已;
可以像下面这样写
public DataTable MyMothed(string str)
{
DataTable tb=null;
try
{
tb=.......;
}
return tb;
}
在你的代码里面 你判断如果tb的行数大于0,则返回,那等于0呢?参照函数的返回值类型,你仍然要返回一个表,只不过是空表而已;
#11
还是没弄明白
#12
string sql = string.Format(" select _imageurl from proimage where _imageid='{0}'", str);
这句sql可能在数据库没有对应的数据,
因此你要处理一下没数据的情况
if (db != null && db.Rows.Count > 0)
{
return db.Rows[0]["_imageurl"].ToString();
}
return "没数据情况的url";
这句sql可能在数据库没有对应的数据,
因此你要处理一下没数据的情况
if (db != null && db.Rows.Count > 0)
{
return db.Rows[0]["_imageurl"].ToString();
}
return "没数据情况的url";
#13
//原来
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();
}
//这样就可以了
#14
1."提示:在位置0处没有任何行",检查你的 db.Rows.Count ?= 0
2."if (db != null && db.Rows.Count > 0)" 如果db == null 或 db.Rows.Count == 0 你返回什么字符串?
2."if (db != null && db.Rows.Count > 0)" 如果db == null 或 db.Rows.Count == 0 你返回什么字符串?
#1
你这个就是没有值啊
原来你的:
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;
}
原来你的:
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;
}
#2
if (db != null && db.Rows.Count > 0)
{
str=db.Rows[0]["_imageurl"].ToString();
}
return str;
{
str=db.Rows[0]["_imageurl"].ToString();
}
return str;
#3
对于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;
}
还是出错,url = db.Rows[0]["_imageurl"].ToString();
在位置0处没有任何行
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;
}
时也出错string sql = " select _imageurl from proimage where _imageid=" + int.Parse(str.Trim());输入字符串的格式不正确
{
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;
}
还是出错,url = db.Rows[0]["_imageurl"].ToString();
在位置0处没有任何行
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;
}
时也出错string sql = " select _imageurl from proimage where _imageid=" + int.Parse(str.Trim());输入字符串的格式不正确
#4
那你的变量str时一个数字字符串嘛??
#5
是吧,在数据库中的_imageid的值是0001、0002
str是上面一个类中定义的string型
public void info()
{
string name = "";
if (Request.QueryString["title"] != null && Request.QueryString["title"] != "")
{
name = Request.QueryString["title"].ToString();
}
//string name = Request.QueryString["title"].ToString();
string str = @"select product._id, product._imageid, procate._catename,
product._title,product._localprice from product , procate where
product._cateid=procate._cateid and _title like '%" + name + "%' ";
SqlDataReader sdr = Common.DbHelperSQL.ExecuteReader(str);
if (sdr.Read())
{
DataSet ds = Common.DB.PagedataSet(str, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "helpcate");
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
else
{
Label1.Text = "没有您要搜索的商品!!!";
}
sdr.Close();
}
str是上面一个类中定义的string型
public void info()
{
string name = "";
if (Request.QueryString["title"] != null && Request.QueryString["title"] != "")
{
name = Request.QueryString["title"].ToString();
}
//string name = Request.QueryString["title"].ToString();
string str = @"select product._id, product._imageid, procate._catename,
product._title,product._localprice from product , procate where
product._cateid=procate._cateid and _title like '%" + name + "%' ";
SqlDataReader sdr = Common.DbHelperSQL.ExecuteReader(str);
if (sdr.Read())
{
DataSet ds = Common.DB.PagedataSet(str, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "helpcate");
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
else
{
Label1.Text = "没有您要搜索的商品!!!";
}
sdr.Close();
}
#6
打个断点,跟踪一下程序,很快就能发现问题的。
#7
我不会跟踪程序啊,能不能简单说一下
#8
将光标定位在你搜索按钮事件中的第一行代码前面,然后按下 F9,如果使用到Session等信息的话,需要设置一个启动页面,如Login.aspx,如果没有的话,直接按 F5,启动调试,当点击按钮后,就会执行到断点设置处停止,然后你一次一次的按 F11,逐语句执行,过程中,可以通过将鼠标移到变量上,可以观察变量的值,也可以查看监视窗口,输入变量值,跟踪该变量的值变化。
#9
将光标定位在你搜索按钮事件中的第一行代码前面,然后按下F9
就去掉了断点,没有其它反应
额.........如果你现在有时间的话,能不能我把程序发给你帮我改一下
就去掉了断点,没有其它反应
额.........如果你现在有时间的话,能不能我把程序发给你帮我改一下
#10
你的问题基本是这样的,DateTable 在if语句里面判断为空了
可以像下面这样写
在你的代码里面 你判断如果tb的行数大于0,则返回,那等于0呢?参照函数的返回值类型,你仍然要返回一个表,只不过是空表而已;
可以像下面这样写
public DataTable MyMothed(string str)
{
DataTable tb=null;
try
{
tb=.......;
}
return tb;
}
在你的代码里面 你判断如果tb的行数大于0,则返回,那等于0呢?参照函数的返回值类型,你仍然要返回一个表,只不过是空表而已;
#11
还是没弄明白
#12
string sql = string.Format(" select _imageurl from proimage where _imageid='{0}'", str);
这句sql可能在数据库没有对应的数据,
因此你要处理一下没数据的情况
if (db != null && db.Rows.Count > 0)
{
return db.Rows[0]["_imageurl"].ToString();
}
return "没数据情况的url";
这句sql可能在数据库没有对应的数据,
因此你要处理一下没数据的情况
if (db != null && db.Rows.Count > 0)
{
return db.Rows[0]["_imageurl"].ToString();
}
return "没数据情况的url";
#13
//原来
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();
}
//这样就可以了
#14
1."提示:在位置0处没有任何行",检查你的 db.Rows.Count ?= 0
2."if (db != null && db.Rows.Count > 0)" 如果db == null 或 db.Rows.Count == 0 你返回什么字符串?
2."if (db != null && db.Rows.Count > 0)" 如果db == null 或 db.Rows.Count == 0 你返回什么字符串?