28
3

Mono for android中使用sqlite

0
归档:2013年3月分类:开源Mono
内容纲要

小型数据库的使用在移动开发过程中非常方便,Mono for android提供了多种数据库访问方式,可以使用sqlite、使用WCF直接访问数据库,sqlite的访问非常简单,下面是一个使用monodroid(或者Mono for andorid访问数据库的方法):

/// <summary>

/// A helper class for working with SQLite

/// </summary>

public static class Database

{

private static string db_file = "database.db3";

public static SqliteConnection GetConnection ()

{

var dbPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.Personal), db_file);

bool exists = File.Exists (dbPath);

if (!exists)

SqliteConnection.CreateFile (dbPath);

var conn = new SqliteConnection ("Data Source=" + dbPath);

if (!exists)

CreateDatabase (conn);

return conn;

}

private static void CreateDatabase (SqliteConnection connection)

{

var sql = "CREATE TABLE version (Id INTEGER PRIMARY KEY AUTOINCREMENT, isforce NUMERIC, version TEXT, url TEXT, info TEXT, dates datetime,isupdate NUMERIC);";

connection.Open ();

using (var cmd = connection.CreateCommand ()) {

cmd.CommandText = sql;

int temp=cmd.ExecuteNonQuery ();

}

connection.Close ();

}

}

具体的使用sql语句访问数据库的方法例子:

public List<Model.appVersion> GetAllVersion ()

{

List<Model.appVersion> mList=new List<Model.appVersion>();

var sql ="select id,isforce,version,url,info,dates,isupdate from version";

using (var conn = Database.GetConnection ()) {

conn.Open ();

using (var cmd = conn.CreateCommand ()) {

cmd.CommandText = sql;

using (var reader = cmd.ExecuteReader ()) {

while (reader.Read ())

mList.Add(new Model.appVersion(reader.GetInt32(0),reader.GetInt32(1),reader.GetString(2),reader.GetString(3),reader.GetString(4),reader.GetDateTime(5),reader.GetInt32(6)));

}

}

}

return mList;

}


声明: 本文采用 BY-NC-SA 协议进行授权. 未标注“转”的文章均为原创,转载请注明转自: Mono for android中使用sqlite

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。