本文仅用于简单说明C#连接和访问SQLite数据库的一些操作,不含其他诸如原理性、解释性的说明。主要用于自己及其他新入人员初学时配置
1. 环境准备
SQLite: SQLite Official
根据自己需要下载不同系统的物品。比如我下的就是WindowsOS下预编译的exe、Dll.
GUI Tool: SQLite Expert Personal Edition
个人版是Free的
Wrapper:System.Data.SQLite
完全支持.Net2.0, 几乎能完全支持.Net 3.5。这个DLL已经包装了sqlite3.dll。
2. 使用SQLite Expert Personal Edition创建数据库和表格
当安装完毕SQLite Expert Personal Edition这个GUI工具之后,双击打开,创建数据库和表格,比较简单,你可以参考官网上的操作参考视频
3. C# 建立一个普通的Console工程
在该工程上引入System.Data.SQLite.DLL(即wrapper),无需引入SQLite3.dll,因为前者已经包装了后者。
在代码中import下: "using System.Data.SQLite;"
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SQLite;
namespace TestSQLite
{
class MyCSharpSQLite
{
private static string connStr;
static void Main(string[] args)
{
connStr = SQLiteConnectionString.GetConnectionString(".\\Data\\EasyDataBase.db");
Console.WriteLine("SQLite Connect String is : {0}", connStr);
//连接测试
//testConnect(connStr);
//执行查询
ExecQuery("select * from customers");
Console.ReadKey();
}
private static void testConnect(string connStr)
{
try
{
SQLiteConnection conn = new SQLiteConnection(connStr);
conn.Open();
Console.WriteLine("SQLite Connect OK.");
}
catch (Exception ex)
{
Console.WriteLine("SQLite Connect fail: {0} ", ex.Message);
}
}
private static void ExecQuery(string sqlStr)
{
Console.WriteLine(">> Start to query the database....");
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
//comm.CommandType = comm.CommandText;
using (SQLiteDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[1].ToString());
}
}
}
}
}
/// <summary>
/// 生成SQLite连接字符串
/// </summary>
public static class SQLiteConnectionString
{
public static string GetConnectionString(string path)
{
return GetConnectionString(path, null);
}
public static string GetConnectionString(string path, string password)
{
if (string.IsNullOrEmpty(password))
{
return "Data Source=" + path;
}
else
{
return "Data Source=" + path + ";Password=" + password;
}
}
}
}
先说到这里,后续再补充其他。