///函数
 #region 取调用地址
    private string GetWebAddress1(string str1)
    {
        string a;
        a = Label_name.Text;
        SqlConnection MyConnection = new SqlConnection(myConnectionString);
        string cmdText_9 = "select * from users where username='" + str1 + "'";        SqlCommand MyCommand_9 = new SqlCommand(cmdText_9, MyConnection);        SqlDataReader dr_9 = null;
        try
        {
            MyConnection.Open();
            dr_9 = MyCommand_9.ExecuteReader(CommandBehavior.CloseConnection);
            if (dr_9.Read())
            {                string add_name = dr_9["realname"].ToString();
                return add_name;
            }
            else
            {
                 return a;
            }        }
        catch (SqlException se)
        {
            Response.Write(se.Message);
        }
        finally
        {
            if (MyConnection.State == ConnectionState.Open)
                dr_9.Close();
        }
    }
    #endregion///调用
    protected void Button2_Click(object sender, EventArgs e)
    {
        string a;
       
        /// a = FilterList.Text;
        a = Label_name.Text;
     ///   Response.Redirect('~'+GetWebAddress1(a));
    }错误提示;    错误 1 “DataViewFilter.GetWebAddress1(string)”: 并非所有的代码路径都返回值大家知道怎么回事吗? 谢谢!

解决方案 »

  1.   

    catch (SqlException se)
            {
                Response.Write(se.Message);
            }
    catch里需要返回
      

  2.   

    注意:GetWebAddress1 函数中:
    return只在try语句成功执行时才会返回在catch块中加上return 语句
      

  3.   

    谢谢各位的答复;
     To: calmzeal
      GetWebAddress1 函数中:
      return只在try语句成功执行时才会返回,  但catch块中代表的不是Try失败所要执行的代码快吗? 我把 return 写在catch块中还是会有一样的提示.
     To : gui0605
      F5 启动调式. 提示我说的出错提示,所以无法进行跟踪
      

  4.   

    函数最后加上return string.Empty
      

  5.   

    把你的函数最下一行加上一个返回以保证无论如何都会返回一个结果:private string GetWebAddress1(string str1)
    {
        ....
        return null;
    }
      

  6.   

    错误提示;    错误 1 “DataViewFilter.GetWebAddress1(string)”: 并非所有的代码路径都返回值
    应该是比较明显的提示
    catch也要返回值