Visual Studio中INSERT INTO命令中的语法错误

问题描述 投票:0回答:1

我有一个简单的插入查询,但是Visual Studio返回“ INSERT INTO命令中的语法错误”,我在数据库(访问)中复制并粘贴了完全相同的查询,并且可以正常工作...任何帮助?

 public void Create(string mail, string nickname, string password, string avatar)
    {
        OleDbConnection cn = new OleDbConnection(_connectionString);
        OleDbCommand cmd = new OleDbCommand();
        try
        {

            String PwdSHA256;
            SHA256 mySHA256 = SHA256.Create();
            byte[] hashValue = mySHA256.ComputeHash(Encoding.UTF8.GetBytes(password));
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < hashValue.Length; i++)
            {
                builder.Append(hashValue[i].ToString("x2"));
            }
            PwdSHA256 = builder.ToString();

            cn.Open();
            cmd.Connection = cn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "INSERT INTO utenti ([email],[nickname],[password],[avatar],[attivo]) " +
                "VALUES ('" + mail + "', '" + nickname + "', '" + PwdSHA256 + "','', false)";

            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            System.Web.HttpContext.Current.Session["errore"] = ex;
            System.Web.HttpContext.Current.Response.Redirect("ErrorPage.aspx");
            this._errore = ex.Message;
        }
        finally
        {
            cmd = null;
            cn.Close();
        }
    }
c# sql asp.net access
1个回答
0
投票

也许你应该改变

 cmd.CommandText = "INSERT INTO utenti (email,nickname,password,avatar,attivo) " +
            "VALUES ('" + mail + "', '" + nickname + "', '" + PwdSHA256 + "','', false)";

并确保您在数据库中的列与查询相同

© www.soinside.com 2019 - 2024. All rights reserved.