C# windowsphone上的Sqlite查询

C# windowsphone上的Sqlite查询,c#,xaml,windows-phone-8,sqlite,C#,Xaml,Windows Phone 8,Sqlite,我有这段代码 premios pre = new premios() { name = "premio1", link = "http://www.host.com/image.png" }; if (DB.CheckPremios(pre)) {//does stuff } CheckPremios函数是这样的: public bool CheckPremios(premios pre) { using (va

我有这段代码

    premios pre = new premios() { name = "premio1", link = "http://www.host.com/image.png" };
                if (DB.CheckPremios(pre))
{//does stuff
}
CheckPremios函数是这样的:

public bool CheckPremios(premios pre) 
        {
            using (var db = new SQLiteConnection(dbPath))
            {
                var existing = db.Query<premios>("select * from premios where name =" + pre.name);
                if (existing != null)
                {
                    return true;
                }
            }
            return false;
        }
public bool CheckPremios(premios pre)
{
使用(var db=new-SQLiteConnection(dbPath))
{
var existing=db.Query(“从premios中选择*,其中name=“+pre.name”);
if(现有!=null)
{
返回true;
}
}
返回false;
}
附加信息:无此类列:premio1

它抱怨“Premio1”列不存在,尽管“Premio1”列的名称不存在


我的查询错了吗?

您的查询调用不正确,主要是因为您没有将查询值括在引号中,所以SQLite会将其视为与列名进行比较。我建议使用查询调用,指定在何处进行替换,并传入一个参数列表,而不是在您自己中添加单引号,例如:

var existing = db.Query<premios>("select * from premios where name = ?", pre.name);
if (existing != null)
{
    return true;
}
var existing=db.Query(“从premios中选择*name=?”,pre.name);
if(现有!=null)
{
返回true;
}