C#操作SQLite数据库

  • A+
所属分类:C#

C#操作SQLite数据库 - 阿凡卢 - 博客园

C#操作SQLite数据库

SQLite介绍

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

SQLite是一个开源、免费的小型RDBMS(关系型数据库),能独立运行、无服务器、零配置、支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准。
SQLite数据库官方主页:http://www.sqlite.org/index.html
C#操作SQLite Database

C#下SQLite操作驱动dll下载:System.Data.SQLite

C#使用SQLite步骤:
(1)新建一个project
(2)添加SQLite操作驱动dll引用
(3)使用API操作SQLite DataBase
5d352a9faa62ea11d20000ed_html_.gif
using System;
using System.Data.SQLite;
namespace SQLiteSamples
{
    class Program
    {
        //数据库连接
        SQLiteConnection m_dbConnection;
        static void Main(string[] args)
        {
            Program p = new Program();
        }
        public Program()
        {
            createNewDatabase();
            connectToDatabase();
            createTable();
            fillTable();
            printHighscores();
        }
        //创建一个空的数据库
        void createNewDatabase()
        {
            SQLiteConnection.CreateFile("MyDatabase.sqlite");
        }
        //创建一个连接到指定数据库
        void connectToDatabase()
        {

m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");

m_dbConnection.Open();
        }
        //在指定数据库中创建一个table
        void createTable()
        {

string sql = "create table highscores (name varchar(20), score int)";

SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
            command.ExecuteNonQuery();
        }
        //插入一些数据
        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查询语句,并显示结果
        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();
        }
    }
}
5d352a9faa62ea11d20000ed_html_.gif
关于SQLite的connection string说明:http://www.connectionstrings.com/sqlite/
SQLite GUI客户端列表:http://www.sqlite.org/cvstrac/wiki?p=ManagementTools
SQLite Administrator下载地址:http://download.orbmu2k.de/files/sqliteadmin.zip
操作SQLite Database的C#帮助类SQLite Helper
将一些常用的功能封装一下,封装成SQLite Helper类

5d352a9faa62ea11d20000ee_html_.gif5d352a9faa62ea11d20000ef_html_.gif View Code

Codeproject上的一个封装:http://www.codeproject.com/Articles/746191/SQLite-Helper-Csharp

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin