新手求解,并非所有的代码路径都返回值

sandy2603 2011-11-29 04:14:40
public bool ExistProduct(DataTable cart)
{
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnetionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
SqlCommand sqlcommand = new SqlCommand();
sqlcommand.Connection = sqlconn;
sqlconn.Open();
sqlcommand.CommandText = "select * from Product";
SqlDataReader sqldatareader = sqlcommand.ExecuteReader();
while (sqldatareader.Read())
{
foreach (DataRow dr in cart.Rows)
{
if (dr["ProductName"].ToString().Equals(sqldatareader.GetString(1)))
{//若购物车中存在用户要购买的商品,则商品数量+1
dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
//将购物车保存到Session["Cart"]中
Session["Cart"] = cart;
Response.Redirect("");
}
}
return true;
}
sqlcommand = null;
sqlconn.Close();
sqlconn = null;
}

提示错误 “ ExistProduct(System.Data.DataTable)”: 并非所有的代码路径都返回值
是什么原因怎么改呢?
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandy2603 2011-11-29
  • 打赏
  • 举报
回复
正解,谢谢
robin_hun 2011-11-29
  • 打赏
  • 举报
回复
如果没有read()到数据,你的函数就没返回值
读到数据就只能读一行,还不带关闭连接的。。。
LZ想做什么呢?
1800包吃包住 2011-11-29
  • 打赏
  • 举报
回复
public bool ExistProduct(DataTable cart)
{
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnetionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
SqlCommand sqlcommand = new SqlCommand();
sqlcommand.Connection = sqlconn;
sqlconn.Open();
sqlcommand.CommandText = "select * from Product";
SqlDataReader sqldatareader = sqlcommand.ExecuteReader();
while (sqldatareader.Read())
{
foreach (DataRow dr in cart.Rows)
{
if (dr["ProductName"].ToString().Equals(sqldatareader.GetString(1)))
{//若购物车中存在用户要购买的商品,则商品数量+1
dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
//将购物车保存到Session["Cart"]中
Session["Cart"] = cart;
Response.Redirect("");
}
}
return true;
}
sqlcommand = null;
sqlconn.Close();
sqlconn = null;
//这里加一个return false;
return false;
}
robin_hun 2011-11-29
  • 打赏
  • 举报
回复
看错了。。。你的代码好奇怪啊
robin_hun 2011-11-29
  • 打赏
  • 举报
回复
if (dr["ProductName"].ToString().Equals(sqldatareader.GetString(1)))
{//若购物车中存在用户要购买的商品,则商品数量+1
dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
//将购物车保存到Session["Cart"]中
Session["Cart"] = cart;
Response.Redirect("");
}
}
return true;
}

只有这个if条件成立才有返回,不然没有返回

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧