我已经有这样的桌子了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"}
您能帮我,如何解决它?
您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在'INTO testing(id,email,name,profile_image)VALUES('00001','testing'的第1行,“数据”处使用正确的语法:
这很简单,而不是您如何编写Update语句:
https://www.w3schools.com/sql/sql_update.asp
[INTO
和VALUES
适用于INSERT
,仅适用于INSERT
语句。
同样要重申,ID
列应该是主键。而那些您没有设置的,也永远不会更新。您可以使用它们来限制更新和删除。因为如果没有WHERE
,它们将始终修改整个表。而且没有什么比PK更好的标识符了。
限制更新和删除基本上是发明的主键。其他一些用途(分布式数据库的同步)也可能适用,但即使在这里也以相同的方式起作用。