如何在网络服务中更新我的记录值sql

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

我已经有这样的桌子了Picture Table Database这是我在网络服务中添加新用户的编码

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void AddNewUser(String jsonOfDataUser)
    {
        DbAccessConnection conn = getActiveConnection();

        if (conn == null)
            return;

        try
        {
            beginTransaction(conn);

            Testing test = new Testing(conn);
            User users = Tools.convertJsonIncludeDerivedTypes<User>(jsonOfDataUser);

            test.add(users);

            commitTransaction(conn);
            Responder.writeResponse(true, "Success Add New User");
        }
        catch(Exception ex)
        {
            rollbackTransaction(conn);
            Responder.writeResponse(false, ex.Message, ex.StackTrace);
        }
    }


    public void add(User dtUser)
    {
        String sql = $"INSERT INTO testing(id,email,name) 
        VALUES('{dtUser.Id}','{dtUser.Email}','{dtUser.Name}')";
        Connection.executeSql(sql);
    }

这是我在网络服务中更新的编码

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public void UpdateUser(String jsonOfData)
    {
        DbAccessConnection conn = getActiveConnection();

        if (conn == null)
            return;

        try
        {
            beginTransaction(conn);

            Testing test = new Testing(conn);
            User users = Tools.convertJsonIncludeDerivedTypes<User>(jsonOfData);

            test.update(users);

            commitTransaction(conn);
            Responder.writeResponse(true, "Success Update New User ");
        }
        catch (Exception ex)
        {
            rollbackTransaction(conn);
            Responder.writeResponse(false, ex.Message, ex.StackTrace);
        }
    }

   public void update(User dtUser)
   {
        String sql = $"UPDATE INTO testing(id,email,name,profile_image) 
        VALUES('{dtUser.Id}','{dtUser.Email}','{dtUser.Name}','{dtUser.Profile_Image}' 
        WHERE id = '{dtUser.Id}')";
        Connection.executeSql(sql);
    }

我在网络服务中执行方法UpdateUser遇到问题,当我插入json时我的记录表无法在数据库中更新

{"Id":"00001","Name":"testing","Email":"[email protected]","Profile_Image":"C:\image\iconaudit.jpg"}

您能帮我,如何解决它?

c# sql asp.net
1个回答
1
投票

您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在'INTO testing(id,email,name,profile_image)VALUES('00001','testing'的第1行,“数据”处使用正确的语法:

这很简单,而不是您如何编写Update语句:

https://www.w3schools.com/sql/sql_update.asp

[INTOVALUES适用于INSERT,仅适用于INSERT语句。

同样要重申,ID列应该是主键。而那些您没有设置的,也永远不会更新。您可以使用它们来限制更新和删除。因为如果没有WHERE,它们将始终修改整个表。而且没有什么比PK更好的标识符了。

限制更新和删除基本上是发明的主键。其他一些用途(分布式数据库的同步)也可能适用,但即使在这里也以相同的方式起作用。

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