Need an example of sqlite with Monodroid Need an example of sqlite with Monodroid sqlite sqlite

Need an example of sqlite with Monodroid


I obviously need to add a SQLite demo to the ApiDemo sample.

Since I don't know when that'll happen, here's the quick and dirty version:

However, to use the following code you must be targeting Android 2.2 or later to use Mono.Data.Sqlite. If you need to target an earlier Android version, you should look into a fully managed replacement, such as managed-sqlite.

Furthermore, this example is using Mono.Data.Sqlite.dll, which is included in the MonoDroid SDK.

First, edit your project assembly references and add a reference for Mono.Data.Sqlite.dll and System.Data.dll.

Second, within your source code, add:

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

Finally, use ye normal ADO.NET code:

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 TextViewusing (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 ();