【问题标题】:Mysql update query not running ASP.NETMysql 更新查询未运行 ASP.NET
【发布时间】:2019-03-07 10:57:16
【问题描述】:

我在 ASP.NET 中的 mysql 查询没有运行。我已经打印出字符串会话,所以我知道我有它的值,并且连接字符串在所有其他方法中都有效,所以我知道问题不存在。在 PHPMyadmin 中手动运行命令可以正常工作。另一种看起来相同的方法,仅使用 select cmd 有效。

public IActionResult DeleteProfile()
    {
        string session = HttpContext.Session.GetString("session"); /* gets value (customerid) for user session */

        MySqlConnection conn = new MySqlConnection(connectionString);
        try
        {

            conn.Open();
            string cmdtxt = "UPDATE customer SET active = '0' WHERE customerid = @session";


            MySqlCommand cmd = new MySqlCommand(cmdtxt, conn);

            /**************** SQL PARAMETER ********///

            MySqlParameter parameter = new MySqlParameter();
            cmd.Parameters.AddWithValue("@session", session);

            /**************** SQL PARAMETER ********///


        }
        catch (Exception ex)
        {
            ViewBag.error = "Connection Error!\n" + ex.Message;


        }
        finally
        {

            conn.Close();
            ViewBag.error = "Account deleted";
            HttpContext.Session.Remove("session");
        }                

        return View("../Account/Index");
    }

【问题讨论】:

  • 你的 cmd.ExecuteNonQuery();声明?

标签: c# mysql asp.net


【解决方案1】:

您正确地实例化了 MySqlCommand 并分配了适当的参数,但是您没有对该命令执行任何操作。

你需要执行查询,所以它被发送到数据库服务器:

cmd.ExecuteNonQuery();

【讨论】:

  • 操作。我在代码的其他部分的插入命令中使用了 MySqlDataAdapter,使用 ExecuteNonQuery 是否更实用或其他优点?
猜你喜欢
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-16
  • 2021-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多