Windows App c# SQLite 数据库查询

Windows App c# SQLlite Database Query

对 SQL 很陌生,我花了几天时间尝试在我的 windows 商店应用程序中进行查询,但无法使 where 子句起作用

我使用下面的代码查询我的数据库

    string query = string.Empty;
    public async Task<List<CityClass>> GetListCities(int fred)
    {
        List<CityClass> objLstCoty = new List<CityClass>();
        try
        {        
                query = "Select  " + DBColumns.Id + "," + DBColumns.WORKNUM +  "," + DBColumns.FAULTREF + " from " + DataBaseWrapper.Cities; 
                objLstCoty = await con.QueryAsync<CityClass>(query);
                tb1.Text = "ID: " + objLstCoty[fred].Id;
                tb2.Text = "Fault Ref: " + objLstCoty[fred].FAULTREF;
                tb3.Text = "Work Number: " + objLstCoty[fred].WORKNUM;
                 }
        catch (Exception ex)
        {
            //return null;
            throw ex;
        }
        return objLstCoty;

    }

此查询我数据库中的 3 列并将数据放入 3 个文本框

如何添加 where 语句,以便它仅 returns WORKNUM 等于特定数字的数据,例如 WORKNUM = "112000"

我认为添加 + " where " + DBColumns.WORKNUM = "112000"; 会起作用,但它不会

感谢任何帮助

马克

看看如何将 WHERE 子句添加到查询的末尾,它甚至无法编译,因为 = 符号在您正在构建的字符串之外。

尝试执行以下操作:

query = "Select  " + DBColumns.Id + "," + DBColumns.WORKNUM +  "," + DBColumns.FAULTREF + " from " + DataBaseWrapper.Cities + " where " + DBColumns.WORKNUM + " = 112000";

感谢您的所有帮助,指导我朝着正确的方向前进,我设法使用

让它开始工作

var ITEM = db.Query("Select * From Cities where WORKNUM='" + srcnum + "' ").FirstOrDefault();

其中 srcnum 是我要在 WORKNUM 列中搜索的数字

然后我可以使用 item.[columnname]

填充文本块

马克