【问题标题】:c# exception “not all code path return a value” [duplicate]c#异常“并非所有代码路径都返回值” [重复]
【发布时间】:2017-08-18 23:31:03
【问题描述】:

大家好,我有一个更新我的 MySQL 的方法。我正在使用 MS Visual Studio

public static User updateUser(string name, string passwd)
    {
        MySqlConnection connection = new MySqlConnection(conn);
        MySqlCommand cmd;
        string query = "UPDATE USER SET Name='" + name +, Password='" + pass + "' ";
        try
        {
            connection.Open();
            cmd = connection.CreateCommand();
            cmd.CommandText = query;
            cmd.ExecuteNonQuery();
        }
        catch (Exception)
        {
            throw;
        }
  }

上面返回一个错误,指出并非所有代码路径都返回一个值。

【问题讨论】:

  • Public static User Method(),你看到你的问题了吗?如果您不想返回该类的对象,请将 User 更改为 void。
  • 旁注:这段代码是一场等待发生的灾难。在查询文本中不使用连接块和字符串连接块,您打算使用此查询更新多少用户?。
  • 警告!!!代码被打开到SQL注入
  • 确实,当你遇到Little Bobby Tables这个用户时,你会很开心...

标签: c# mysql


【解决方案1】:

根据你的代码,method方法没有返回任何东西,你需要返回用户对象。

如果你不想返回任何东西,你可以改变方法实现如下,

public void updateUser(string name, string passwd)

或者,您可以返回布尔值以了解行是否已更新。 ExecuteNonQuery 返回 >0 时返回 true,否则返回 false

【讨论】:

    猜你喜欢
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多