【问题标题】:SQLite3 prepared statements for metro appSQLite3 为 Metro 应用程序准备的语句
【发布时间】:2012-08-19 15:44:29
【问题描述】:

我正在使用 Windows 8 发布预览版和 C#(VS 2012) 开发 Metro 应用程序,我从 link 下载了 SQLite 3.7.13,并使用 this 程序成功地与我的应用程序集成,通过使用以下代码,我可以创建表格和插入数据

var dbpath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "test.db");
            using (var db = new SQLite.SQLiteConnection(dbpath))
            {
                db.CreateTable<Test>();
                db.RunInTransaction(() =>
                    {
                        for (int i = 0; i < 10; i++)
                        {
                            db.Insert(new Test() { id = i,dept = "CS", Firstname = "First" + i.ToString(), Lastname = "Last" + i.ToString() });
                        }
                    });                
            }

在哪里测试我的内部类

class Test
    {
        [AutoIncrement,PrimaryKey]
        public int id { get; set; }
        public string dept { get; set; }
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        public override string ToString()
        {
            return string.Format("{0},{1}", Lastname, Firstname);
        }
    }

通过使用下面的代码,我可以检索测试表中的所有记录

var dbpath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "test.db");
            using (var db = new SQLite.SQLiteConnection(dbpath))
            {   
                var data = db.Table<Test>();                    
            }

所以我的问题是我们如何在 SQLLite 中提供准备好的语句? 例如:如果我想在我的表中查找部门“CS”的记录数,并且 如果我只想从我的表中获取部门“CS”的记录怎么办 请帮助我,在此先感谢。

【问题讨论】:

    标签: c# sqlite windows-8 microsoft-metro windows-runtime


    【解决方案1】:

    您应该能够使用 Linq 语句:

    • 计数

      var count = db.Table().Count();

    • 过滤

      var data = db.Table().Where(test => test.dept == "CS");

    【讨论】:

    • 谢谢dbaseman,你能告诉我一件事吗,我怎样才能在where中再写一个条件,例如:select count(*) from table_name where column1 = 'Y' and column2 = 'N' ;
    • @RajkumarMandera 您可以链接请求,例如 db.Table().Where(test => test.col1=="Y" && test.col2=="N ").Count().
    • 谢谢你 dbaseman,你能帮我一个忙吗,你有什么链接可以让我学习如何创建这个 Linq 语句,因为我需要学习这些东西以及如何使用它们。
    • @RajkumarMandera 我环顾四周,但找不到简明的介绍/教程。我建议只在 SO 上搜索或搜索,那里有大量信息。
    • 感谢您的宝贵时间,我已经准备好了
    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多