分享

Windows8SQLite数据库操作[Sync]

 牛人的尾巴 2015-12-01

Windows8SQLite数据库操作[Sync]

(2013-01-22 13:32:03)
标签:

杂谈

        private async void CreateAndOperateSQLiteDataBase()
        {
            //数据文件保存的位置
            var dataBasePath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "MSISQLiteDataBase.sqlite");
            //var dataBasePath = Path.Combine(KnownFolders.MusicLibrary.Path, "MSISQLiteDataBase.sqlite");

            //创建或打开数据库
            var dataBase = new SQLite.SQLiteConnection(dataBasePath);
            //var dataBase = new SQLite.SQLiteAsyncConnection(dataBasePath);
            
            //创建表
            dataBase.CreateTable();
            //await dataBase.CreateTableAsync();

            //单条插入语句
            dataBase.Insert(new Person() { FirstName = "Jack", LastName = "Slater" });
            //Person person = new Person(){ FirstName = "Jack", LastName = "Slater" };
            //await dataBase.InsertAsync(person);

            //插入操作.首先声明一个集合,多条插入集合
            ObservableCollection personCollection = new ObservableCollection();
            personCollection.Add(new Person() { FirstName = "Lebron", LastName = "James" });
            personCollection.Add(new Person() { FirstName = "Yao", LastName = "Ming" });
            personCollection.Add(new Person() { FirstName = "Ray", LastName = "Allen" });
            int rows = dataBase.InsertAll(personCollection);
            //int rows = await dataBase.InsertAllAsync(personCollection);

            //更新语句
            //方法1
            SQLiteCommand cmd = dataBase.CreateCommand("update person set FirstName='Jake'where FirstName='Lebron'");
            cmd.ExecuteNonQuery();
            //方法2
            dataBase.Update(new Person() { ID = 2, FirstName = "Yao", LastName = "LiCheng" });
            
            try
            {
                //单行删除操作
                int pKey = 3;
                dataBase.Delete(pKey);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }

            //多行删除
            //dataBase.DeleteAll();

            //查询所有数据绑定到UI
            Listlist = dataBase.Query(new TableMapping(typeof(Person)), "select *  from  Person");
            //List list = await dataBase.QueryAsync("select *  from  Person");
            this.listView.ItemsSource = list;

            //dataBase.Dispose();
            //dataBase.Close();
        }

    class Person
    {
       [SQLite.AutoIncrement, SQLite.PrimaryKey]
        public int ID { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多