需要一个与Monodroid的SQLite的例子

任何人都可以指向一个与Monodroid使用SQLite的例子吗? 我甚至找不到一个。

Solutions Collecting From Web of "需要一个与Monodroid的SQLite的例子"

我显然需要添加一个SQLite演示ApiDemo示例。

由于我不知道什么时候会发生,这里是快速和肮脏的版本:

但是,要使用以下代码,您必须将Android 2.2或更高版本定位到使用Mono.Data.Sqlite。 如果你需要定位一个早期的Android版本,你应该看看一个完全托pipe的替代品,比如managed-sqlite 。

此外,这个例子是使用Mono.Data.Sqlite.dll ,它包含在MonoDroid SDK中。

首先,编辑您的项目程序集引用并为Mono.Data.Sqlite.dllSystem.Data.dll添加一个引用。

其次,在您的源代码中,添加:

 using System.Data; using Mono.Data.Sqlite; 

最后,用你们普通的ADO.NET代码:

 string dbPath = Path.Combine ( Environment.GetFolderPath (Environment.SpecialFolder.Personal), "items.db3"); bool exists = File.Exists (dbPath); if (!exists) SqliteConnection.CreateFile (dbPath); var connection = new SqliteConnection ("Data Source=" + dbPath); connection.Open (); if (!exists) { // This is the first time the app has run and/or that we need the DB. // Copy a "template" DB from your assets, or programmatically create one. var commands = new[]{ "CREATE TABLE [Items] (Key ntext, Value ntext);", "INSERT INTO [Items] ([Key], [Value]) VALUES ('sample', 'text')" }; foreach (var command in commands) { using (var c = connection.CreateCommand ()) { c.CommandText = command; c.ExecuteNonQuery (); } } } // use `connection`... // here, we'll just append the contents to a TextView using (var contents = connection.CreateCommand ()) { contents.CommandText = "SELECT [Key], [Value] from [Items]"; var r = contents.ExecuteReader (); while (r.Read ()) MyTextView.Text += string.Format ("\n\tKey={0}; Value={1}", r ["Key"].ToString (), r ["Value"].ToString ()); } connection.Close ();