C# sqlite类网络语句崩溃

C# sqlite类网络语句崩溃,c#,sql,sqlite,windows-runtime,sqlite-net,C#,Sql,Sqlite,Windows Runtime,Sqlite Net,我有这样一个SQL语句: Global.db.Query<Cards>("select * from Cards where card_name like ?", nameTextBox.Text); Global.db.Query(“从卡片中选择*,其中卡片名称类似?”,nameTextBox.Text); 但我想用参数值向两边都添加% Global.db.Query<Cards>("select * from Cards where card_name like

我有这样一个SQL语句:

Global.db.Query<Cards>("select * from Cards where card_name like ?", nameTextBox.Text);
Global.db.Query(“从卡片中选择*,其中卡片名称类似?”,nameTextBox.Text);
但我想用参数值向两边都添加%

Global.db.Query<Cards>("select * from Cards where card_name like %?%", nameTextBox.Text);
Global.db.Query(“从卡片中选择*如%?%”,nameTextBox.Text);
但是当我尝试执行这个时,我抛出了一个错误。你知道为什么我用这样的话会崩溃吗?我在我的sqlite管理程序中使用相同的数据库运行了相同的查询,结果应该是这样的

但我想用参数值向两边都添加%

Global.db.Query<Cards>("select * from Cards where card_name like %?%", nameTextBox.Text);
因此,请针对值本身执行此操作,而不是在SQL中修饰参数:

Global.db.Query<Cards>("select * from Cards where card_name like ?",
    "%" + nameTextBox.Text + "%");
Global.db.Query(“从卡片名称类似的卡片中选择*”,
“%”+nameTextBox.Text+“%”;
Global.db.Query($“从卡片中选择*如%{nameTextBox.Text}%”);

虽然这可以回答OP的问题,但几句解释将有助于当前和未来的用户更好地理解您的答案。下面是standart插值字符串。这种情况通常有助于解决具有特定参数的sql查询问题