• windows phone 8.1开发SQlite数据库操作详解


    原文出自:http://www.bcmeng.com/windows-phone-sqlite1/

    本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本站广告支持小梦,谢谢!)

    • 建立数据库
    • 增加数据
    • 删除数据
    • 更改数据
    • 查询数据

    (注:为了让每个操作都能及时显示在UI上,所以进行了数据绑定.数据绑定会在后面文章专门讲解,先给出数据类Note,代表一个笔记.含有Name 和content  属性.其代码如下:如果不清楚,我会在之后讲解):

    namespace SQlite
    {
        public class Note : INotifyPropertyChanged
        {
               private int id;
               [AutoIncrement, PrimaryKey]
                public int ID
                {
                   get { return id; }
                    set
                {
                    if (value!=id)
                    {
                        id = value;
                        RaisePropertyChanged("ID");
    
                    }
                }
               }
               private string name;
                [MaxLength(30)]
               public string Name
               {
                   get { return name; }
                   set
                   {
                       if (value != name)
                       {
                           name = value;
                           RaisePropertyChanged("Name");
    
                       }
                   }
               }
    
                private string content;
                [MaxLength(300)]
                public string Content
                {
                    get { return content; }
                    set
                    {
                        if (value != content)
                        {
                            content = value;
                            RaisePropertyChanged("Content");
    
                        }
                    }
                }
    
                public event PropertyChangedEventHandler PropertyChanged;
                protected void RaisePropertyChanged(string propertyName)
                {
                    if (PropertyChanged != null)
                    {
                        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                    }
                }
        }
    }

    windows phone 8.1开发SQlite-建立数据库

    private SQLiteAsyncConnection GetConn()
            {
    
                return new SQLiteAsyncConnection(ApplicationData.Current.LocalFolder.Path + "\note.db");
    
            }
    
            private  async void createButton_Click(object sender, RoutedEventArgs e)
            {
    
                SQLiteAsyncConnection conn = GetConn();
    
                 await conn.CreateTableAsync<Note>();
    
                await new MessageDialog("创建数据库成功!").ShowAsync();
            }

    windows phone 8.1开发SQlite-增加数据

    SQLiteAsyncConnection conn = GetConn();
    
                await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我想你" });
                await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我爱你" });
                await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我喜欢你" });
                await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我恨你" });
                await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我打你" });
    
                List<Note> notelist = await conn.Table<Note>().ToListAsync();
                notes = new ObservableCollection<Note>(notelist);
                listBox.ItemsSource = notes;
                await new MessageDialog("增加数据成功!").ShowAsync();

    windows phone 8.1开发SQlite-删除数据

    SQLiteAsyncConnection conn = GetConn();
                var query =  await conn.Table<Note>().FirstAsync();
                for (int i = 0; i < notes.Count;i++ )
                {
                    if (notes[i].ID == query.ID)
                    {
                        notes.RemoveAt(i);
                        break;
                    }
                }
    
                await conn.DeleteAsync(query as Object);
                listBox.ItemsSource = notes;
                await new MessageDialog("删除数据成功!").ShowAsync();

    windows phone 8.1开发SQlite-修改数据

    SQLiteAsyncConnection conn = GetConn();
                for (int i = 0; i < notes.Count; i++)
                {
                    if (notes[i].Name=="小梦")
                    {
                        notes[i].Content = "小梦我爱你";
    
                    }
                }
                var query = conn.Table<Note>().Where(x => x.Name=="小梦");
    
                var result = await query.ToListAsync();
    
                foreach (var item in result)
                {
    
                    item.Content = "小梦我爱你";
    
                    await conn.UpdateAsync(item);
                }
    
                await new MessageDialog("更新数据成功!").ShowAsync();

    windows phone 8.1开发SQlite-查询数据

    SQLiteAsyncConnection conn = GetConn();
    
                var query = conn.Table<Note>();
    
                var result = await query.ToListAsync();
                notes = new ObservableCollection<Note>(result);
                listBox.ItemsSource = notes;
                await new MessageDialog("查询数据成功!").ShowAsync();

    windows phone 8.1开发SQlite数据库操作详解源码下载:

    点我下载!

  • 相关阅读:
    Idea中创建maven项目
    安装axios
    配置路由
    安装Mock.js
    安装SCSS
    Incorrect username or password ( access token )
    Navicat使用笔记06Navicat Premium 12的安装、激活
    dump.rdb file All In One
    如何把闲置的 Mac mini 搭建成一个局域网中的 Web 服务器 All In One
    VSCode walkthroughs All In One
  • 原文地址:https://www.cnblogs.com/xdoudou/p/3945181.html
Copyright © 2020-2023  润新知