引用:
System.Data.SQLite.dll
System.Data.SqlClient.dll
SQLite.Interop.076.dll
注意::::SQLite.Interop.076.dll 這樣的dll必須放在wince設備上(“計算機\BT-W_Series\\\Windows“或者“程序根目錄“)
using System; using System.Data.SQLite; namespace Framework.DataAccess { public class SQLiteMager { //數據庫連接 SQLiteConnection m_dbConnection; static void Main(string[] args) { SQLiteMager p = new SQLiteMager(); } public SQLiteMager() { createNewDatabase(); connectToDatabase(); createTable(); fillTable(); printHighscores(); } //創建一個空的數據庫 public void createNewDatabase() { SQLiteConnection.CreateFile("MyDatabase.sqlite"); } //創建一個連接到指定數據庫 public void connectToDatabase() { m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;"); m_dbConnection.Open(); } //在指定數據庫中創建一個table public void createTable() { string sql = "create table highscores (name varchar(20), score int)"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); } //插入一些數據 public void fillTable() { string sql = "insert into highscores (name, score) values ('Me', 3000)"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); sql = "insert into highscores (name, score) values ('Myself', 6000)"; command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); sql = "insert into highscores (name, score) values ('And I', 9001)"; command = new SQLiteCommand(sql, m_dbConnection); command.ExecuteNonQuery(); } //使用sql查詢語句,並顯示結果 public void printHighscores() { string sql = "select * from highscores order by score desc"; SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]); Console.ReadLine(); } } }
eg::
#region SQLite 操作(檢查數據庫和表格是否存在,不存在則創建)
//,如果數據庫不存在,則創建數據庫 MyDatabase
if (!File.Exists("MyDatabase.sqlite")) SQLiteConnection.CreateFile("MyDatabase.sqlite");
//創建數據庫MyDatabase的連接
SQLiteHelper _SQLiteHelper = new SQLiteHelper("Data Source=MyDatabase.sqlite;Version=3;DateTimeFormat=Ticks;");
//在MyDatabase數據庫 執行-創建表格
_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "CREATE TABLE IF NOT EXISTS highscores (name varchar(20), score int)");
////DataSet obj2 = _SQLiteHelper.ExecuteDataSet(CommandType.Text, "select * from highscores order by score desc");
////int dt2 = obj2.Tables[0].Rows.Count;
//////在MyDatabase數據庫 執行-插入數據
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me', 3000)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me2', 3002)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me', 3000)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me2', 3002)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me', 3000)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me2', 3002)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me', 3000)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me2', 3002)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me', 3000)");
////_SQLiteHelper.ExecuteNonQuery(CommandType.Text, "insert into highscores (name, score) values ('Me2', 3002)");
//////在MyDatabase數據庫 執行-查詢
////DataSet obj = _SQLiteHelper.ExecuteDataSet(CommandType.Text, "select * from highscores order by score desc");
//// int dt= obj.Tables[0].Rows.Count;
//////SQLiteMager ddds = new SQLiteMager();
#endregion