SQLite简单使用记录

时间:2023-03-09 02:11:26
SQLite简单使用记录

SQLite,一种轻量级的数据库

想要使用的话首先下载安装包。

https://www.sqlite.org/download.html

下载sqlite-netFx20-setup-bundle-x86-2005-1.0.102.0.exe后安装

默认.dll文件所在路径为C:\Program Files (x86)\System.Data.SQLite\2005\bin\System.Data.SQLite.dll

打开VS,新建项目,引用System.Data.SQLite.dll 编写基本操作数据库的类。

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Text; namespace Test
{
public class SQLHelper
{
private SQLiteConnection conn = null; private static SQLHelper _Instance = null;
public static SQLHelper Instance
{
get
{
if (_Instance == null)
{
_Instance = new SQLHelper();
}
return _Instance;
}
}
private SQLHelper()
{
string dbPath = "Data Source =" + Environment.CurrentDirectory + "/face.db"; //创建数据库实例,指定文件位置
conn = new SQLiteConnection(dbPath); //打开数据库,若文件不存在会自动创建
conn.Open();
} ~SQLHelper()
{
try
{
conn.Close();
conn.Dispose();
}
catch
{
}
_Instance = null;
} public int ExecuteNonQuery(string sqlstr,params SQLiteParameter[] praam)
{
SQLiteCommand cmdInsert = new SQLiteCommand(sqlstr, conn); foreach (SQLiteParameter p in praam)
{
cmdInsert.Parameters.Add(p);
} return cmdInsert.ExecuteNonQuery();
} public DataSet Query(string sqlstr)
{
DataSet ds = new DataSet();
using (SQLiteCommand cmd = new SQLiteCommand(sqlstr,this.conn))
{
using (SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd))
{
sda.Fill(ds);
}
}
return ds;
} }
}

创建数据库结构可以通过语句在程序中建立也可以使用其它可视化工具进行。

下载了SQLiteStudio感觉使用起来还不错、软件还自带简体中文(选择之后程序界面一半中文一半英文,反而感觉奇怪)

建好一张表后使用程序进行insert和select测试,一切顺利。

List<SQLiteParameter> list = new List<SQLiteParameter>();
list.Add(new SQLiteParameter("@Id", md5));
list.Add(new SQLiteParameter("@Name", "TEST"));
list.Add(new SQLiteParameter("@Code", "AABBCC"));
list.Add(new SQLiteParameter("@Size", ));
list.Add(new SQLiteParameter("@Text", ""));
list.Add(new SQLiteParameter("@AddDate", DateTime.Now));
SQLHelper.Instance.ExecuteNonQuery("insert into info values(@Id,@Name,@Code,@Size,@Text,@AddDate)", list.ToArray()); DataTable Info = SQLHelper.Instance.Query("select * from Info").Tables[];