大家帮看看为什么我这个函数编译无法通过?

gbhsky 2005-08-05 11:26:31
代码如下:
public string aa(string userid)//此处为出错行
{
string sqlstr;
sqlstr="select identified from Members where userid='"+userid+"'";
SqlConnection myconn=new SqlConnection(strconn);
SqlCommand mycmd=new SqlCommand(sqlstr,myconn);
try
{
myconn.Open();
SqlDataReader myreader=mycmd.ExecuteReader();
if(myreader.Read())
{
return myreader["identified"].ToString();
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
myconn.Close();
mycmd.Dispose();
}
}
我想把它编译到dll文件里,但总是在这个函数的第一行出错,错误信息为:error CS0161
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_delight 2005-08-05
  • 打赏
  • 举报
回复
return 好像是不能写道finally里的,应该在程序的最后写一个return
hchxxzx 2005-08-05
  • 打赏
  • 举报
回复
把你的return放到
finally
{
myconn.Close();
mycmd.Dispose();
}
里面
syeerzy 2005-08-05
  • 打赏
  • 举报
回复
不是所有路径你都写了返回值,所以错了.

比如读数据库正常(不会catch),但是因为数据库中没有你要的数据(where条件不符合),
那么你的这个方法,又不会有异常,也不会有任何返回值(因为你的return是在if里面的),这显然是不允许的.

我想你知道怎么改了吧?

62,046

社区成员

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

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

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

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