引言
最近在做番茄软件的开发,由于是本地存储数据库选择的是轻量级的sqlite数据库。之前在学习三层架构的时候接触过sqlite,但是也仅限于简单的应用。而在这次的开发过程中对于sqlite的认识更深了
基本增删改查语法
1、select column from table_name where condition
2、update table_name set column=value where condition
3、insert into table_name(column) values(value)
4、delete from table_name where condition
在项目中的应用
按以往来说是要用服务器上的数据库,所有人只要用到这个系统就会访问服务器上的数据库。但此次项目的发布是没有数据库的,需要先检测本地是否有数据库,如果没有的话需要先创建,检测表也是同理,这些过程都是需要用代码去实现的。具体代码如下:
///
/// 检测plan表是否存在,如果不存在就创建
/// 如果存在,判断t_plan表是否存在,不存在创建
///
public void CreatePlan()
{
string dbPath = "sql.db";
//如果不存在该数据库文件,否则创建该数据库文件
if (!System.IO.File.Exists(dbPath))
{
SqliteHelper.CreateDB("sql.db");
}
SqliteHelper.SQLiteDBHelper("sql.db");
//判断t_plan表是否存在
string table = "select name from sqlite_master where type='table' and name='t_plan'";
if (table == null)
{
string sql = "create table t_plan(id integer NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,planName varchar(20),flag int(5))";
SqliteHelper.ExecuteNoQuery(sql, null);
}
else
{
return;
}
}
private static string connectionString = string.Empty;
///
/// 构造函数
///
/// SQLite数据库文件路径
public static void SQLiteDBHelper(string dbPath)
{
//默认创建地址为解决方案的debug文件夹
connectionString = "Data Source=" + dbPath;
}
///
/// 创建SQLite数据库文件
///
/// 要创建的SQLite数据库文件路径
public static void CreateDB(string dbPath)
{
using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbPath))
{
connection.Open();
using (SQLiteCommand command = new SQLiteCommand(connection))
{
command.CommandText = "CREATE TABLE sql(id integer NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE)";
command.ExecuteNonQuery();
command.CommandText = "DROP TABLE sql";
command.ExecuteNonQuery();
}
}
}
结语
深入了解之后发现一个小小的数据库竟然有这么大的功能,而大型的数据库并不一定有这种功能。sqlite作为一种轻量型数据库,用于本地存储十分方便。