CREATE 语句在 ASP.NET MVC 中失败

问题描述

我的 create 语句突然无法工作,它直接显示错误消息(无法创建帐户)。我不确定我哪里出错了,因为我根本没有对其进行任何修改。总的来说,我遇到了这个问题三次,我唯一的解决方案是创建一个新项目,让它使用相同的确切代码再次工作。有什么建议可以确保将来不再发生此类事情?先感谢您!这是我在控制器中的代码

[HttpPost]
public IActionResult createuser(Users usr)
{
    if (!ModelState.IsValid)
    {
        ViewData["Message"] = "Invalid Input";
        ViewData["MsgType"] = "warning";
        return View("createuser");
    }
    else
    {
        string insert = @"INSERT INTO WBUsers(UserId,UserPw,FullName,Email,UserRole,dob,ContactNo,usr.Billing_Address)
                          VALUES('{0}',HASHBYTES('SHA1','{1}'),'{2}','{3}','{4}','{5}',{6},'{7}')";

        if (DBUtl.Execsql(insert,usr.UserId,usr.UserPw,usr.FullName,usr.Email,usr.UserRole,usr.dob,usr.ContactNo,usr.Billing_Address) == 1)
        {
            string template = @"Hi {0},<br/><br/>
                          Welcome to WorldBay!
                           Your userid is <b>{1}</b> and password is <b>{2}</b>. Please change your password upon login.
                           <br/><br/>Adminstrator";
            string title = "Account Sign Up";
            string message = String.Format(template,usr.UserPw);
            string result = "";

            bool outcome = false;
                
            outcome = EmailUtl.SendEmail(usr.Email,title,message,out result);

            if (outcome)
            {
                ViewData["Message"] = "Account has been created";
                ViewData["MsgType"] = "success";
            }
            else
            {
                ViewData["Message"] = result;
                ViewData["MsgType"] = "warning";
            }
        }
        else
        {
            ViewData["Message"] = "Account cannot be created";
            ViewData["MsgType"] = "danger";
        }

        return View("createuser");
    }
}

DBUtil 代码包括

public static int Execsql(string sql,params object[] list)
{
    List<String> escParams = new List<String>();

    foreach (object o in list)
    {
        if (o == null)
            escParams.Add("");
        else
            escParams.Add(EscQuote(o.ToString()));
    }

    DB_sql = String.Format(sql,escParams.ToArray());

    int rowsAffected = 0;

    using (sqlConnection dbConn = new sqlConnection(DB_CONNECTION))
    using (sqlCommand dbCmd = dbConn.CreateCommand())
    {
         try
         {
              dbConn.open();
              dbCmd.CommandText = DB_sql;
              rowsAffected = dbCmd.ExecuteNonQuery();
         }
         catch (System.Exception ex)
         {
              DB_Message = ex.Message;
              rowsAffected = -1;
         }
     }

     return rowsAffected;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)