如何使用SQLite.Net在Xamarin.Android中创建,插入和绘制数据?

时间:2016-08-24 06:26:06

标签: android database sqlite xamarin.android

我是Xamarin和android开发的新手。我正在制作一个时间表应用程序,目前不知道如何使用sqlite.net创建数据库。是否可能有任何可以使用的命令的文档和某些地方的详尽描述?因为我能找到的东西都是与Java,IOS和其他东西相关的东西。

在我的应用程序中,我需要在数据库之间创建,访问,插入,修改和绘制链接,我不确定如何做任何事情。

感谢

1 个答案:

答案 0 :(得分:0)

在Xamarin Android / iOS / Forms中使用SQLite.nET非常简单。只需添加一个nuget包“sqlite-net”intp你的项目。这将在根文件夹中添加两个文件,SQLIte.cs和SQliteAsync.cs。它使用ORM,可以轻松使用其CRUD功能。

以下是来自Xamarin的一些链接,可以帮助您更好地理解这些概念。

https://developer.xamarin.com/guides/cross-platform/application_fundamentals/data/part_3_using_sqlite_orm/

https://developer.xamarin.com/recipes/android/data/databases/sqlite/

https://developer.xamarin.com/recipes/ios/data/sqlite/

https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/

https://developer.xamarin.com/recipes/ios/data/sqlite/create_a_database_with_sqlitenet/

编辑1:

Frank Krueger在您的应用程序中包含sqlite-net nuget包。

创建一个文件以保留所有与数据库相关的功能。例如DbOperations.cs

    public class DbOperations
    {
        public string SqLiteDBPath { get; private set; }

        public DbOperations()
         {
            string databasePath =   System.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.Personal), DBConstants.DATABASE_PATH);
                _sqLiteDBFilePath = System.IO.Path.Combine(databasePath, DBConstants.DATABASE_NAME);
                SqLiteDBPath = databasePath;
                System.IO.Directory.CreateDirectory(SqLiteDBPath);

                //create database in set path            
                SQLite.SQLite3.Config(SQLite.SQLite3.ConfigOption.Serialized);

                SQLiteConnection sqLiteConnection = new SQLiteConnection(_sqLiteDBFilePath);
                sqLiteConnection.Close();
                CreateTables();
         }

    private void CreateTables()
            {
                SQLiteConnection sqLiteConnection = new SQLiteConnection(_sqLiteDBFilePath);
                sqLiteConnection.CreateTable<User>();
                sqLiteConnection.Close();
            }
    }

此代码段将为数据库中名为User的对象创建数据库和表。

要执行CRUD操作,只需编写

SQLiteConnection con = new SQLiteConnection(_sqLiteDBFilePath);
con.Insert(userObject); //Insert
con.Delete(userObject); //Delete
con.DeleteAll<>(); //Delete All rows in table User
con.Update(userObject); //Update
List<User> userList = con.Query<User>("select * from User"); //Select all

希望这会对你有所帮助。