SQLite.SQLiteException:';近;s";:语法错误';在sqlite中更新字段时

SQLite.SQLiteException:';近;s";:语法错误';在sqlite中更新字段时,sqlite,uwp,Sqlite,Uwp,我目前正在从事UWP项目,我使用sqlite数据库。在这个项目中,我想更新sqlite表(classroomteam)中的字段。当我用撇号(')输入值时,会出现错误,显示“sqlite.SQLiteException:'接近“s”:语法错误” 这是我用来将更新的数据保存到表中的代码 public static async Task UpdateTeamName(ClassroomTeamItem classroomTeamItem) { IWAppUtils.PrintD

我目前正在从事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()");
    }
公共静态异步任务UpdateTeamName(ClassroomTeamItem ClassroomTeamItem)
{
PrintDebug(“==Start”,类名,“updatetaemname()”;
ClassroomTeam ClassroomTeam=新建ClassroomTeam()
{
TeamName=classroomTeamItem.TeamName,
Id=classroomTeamItem.Id,
};
字符串teamName=classroomTeamItem.teamName;
SQLiteAsyncConnection conn=新的SQLiteAsyncConnection(IWSQLite.DATABASE_NAME);
//任务a=conn.UpdateAsync(configInfo);
等待conn.ExecuteAsync(“更新classroomteam集TeamName=”+classroomTeamItem.TeamName+”,其中Id=“+classroomteam.Id+”);
等待连接CloseAsync();
PrintDebug(“==End”,类名,“UpdateTeamName()”;
}
我试图解决我的问题,我所做的是在查询中应用新字符串[]{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()");
    }
公共静态异步任务UpdateTeamName(ClassroomTeamItem ClassroomTeamItem)
{
PrintDebug(“==Start”,类名,“updatetaemname()”;
ClassroomTeam ClassroomTeam=新建ClassroomTeam()
{
TeamName=classroomTeamItem.TeamName,
Id=classroomTeamItem.Id,
};
字符串teamName=classroomTeamItem.teamName;
SQLiteAsyncConnection conn=新的SQLiteAsyncConnection(IWSQLite.DATABASE_NAME);
//任务a=conn.UpdateAsync(configInfo);
等待conn.ExecuteAsync(“UPDATE classroomteam SET TeamName=”+新字符串[]{classroomteam.TeamName}+“,其中Id=”+“+classroomteam.Id+””);
等待连接CloseAsync();
PrintDebug(“==End”,类名,“UpdateTeamName()”;
}

如果有人能帮我解决这个问题,我将不胜感激。

关于如何更新字段的sql字符串是:

string SQL_UPDATE = "UPDATE " + TABLE_NAME + " SET Value = ? WHERE Key = ?";
因此,您可以尝试将更新字符串更改为

await db.ExecuteAsync("UPDATE classroomteam SET TeamName = " + classroomTeamItem.TeamName + " WHERE Id = " + classroomTeam.Id);
或者,您可以使用Table方法直接查询特定数据,然后更新字段。例如:

private async void update(ClassroomTeamItem classroomTeamItem)
{
    var query = db.Table<ClassroomTeam>().Where(s => s.Id==classroomTeam.Id);
    var result = await query.ToListAsync();
    foreach (var s in result)
    {
        s.TeamName = classroomTeamItem.TeamName;
        await db.UpdateAsync(s);
    }
}
私有异步无效更新(ClassroomTeamItem ClassroomTeamItem)
{
var query=db.Table(),其中(s=>s.Id==classroomTeam.Id);
var result=wait query.ToListAsync();
foreach(结果中的var s)
{
s、 TeamName=classroomTeamItem.TeamName;
等待数据库更新同步;
}
}