【发布时间】:2020-06-03 06:27:44
【问题描述】:
我目前正在处理 UWP 项目,我使用 sqlite 数据库。在这个项目中,我想更新 sqlite 表(classroomteam)中的字段。当我用撇号(')输入值时,它给出错误提示“SQLite.SQLiteException: '在“s”附近:语法错误'”
这是我用来将更新数据保存到表中的代码
public static async Task UpdateTeamName(ClassroomTeamItem classroomTeamItem)
{
IWAppUtils.PrintDebug("====Start ", CLASS_NAME, "UpdateTeamName()");
ClassroomTeam classroomTeam = new ClassroomTeam()
{
TeamName = classroomTeamItem.TeamName,
Id = classroomTeamItem.Id,
};
String teamName = classroomTeamItem.TeamName;
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(IWSQLite.DATABASE_NAME);
//Task<int> a = conn.UpdateAsync(configInfo);
await conn.ExecuteAsync("UPDATE classroomteam SET TeamName = '" + classroomTeamItem.TeamName + "' WHERE Id = '" + classroomTeam.Id + "'");
await conn.CloseAsync();
IWAppUtils.PrintDebug("====End ", CLASS_NAME, "UpdateTeamName()");
}
我尝试this 来解决我的问题,我所做的是在查询中应用 new String[] {classroomTeamItem.TeamName }。然后我没有收到任何错误,但值为存储为 System.String[] 而不是我在 sqlite 表中输入的值。我尝试的代码如下。
public static async Task UpdateTeamName(ClassroomTeamItem classroomTeamItem)
{
IWAppUtils.PrintDebug("====Start ", CLASS_NAME, "UpdateTeamName()");
ClassroomTeam classroomTeam = new ClassroomTeam()
{
TeamName = classroomTeamItem.TeamName,
Id = classroomTeamItem.Id,
};
String teamName = classroomTeamItem.TeamName;
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(IWSQLite.DATABASE_NAME);
//Task<int> a = conn.UpdateAsync(configInfo);
await conn.ExecuteAsync("UPDATE classroomteam SET TeamName = '" + new String[] { classroomTeam.TeamName } + "' WHERE Id = '" + classroomTeam.Id + "'");
await conn.CloseAsync();
IWAppUtils.PrintDebug("====End ", CLASS_NAME, "UpdateTeamName()");
}
如果有人能帮我解决这个问题,我将不胜感激。
【问题讨论】: