欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# SQlite操作方法小结

程序员文章站 2023-08-29 22:16:06
本文实例分析了c# sqlite操作方法。分享给大家供大家参考,具体如下: 最近项目需求用c#保存一些数据,如此先总结一下。需要下载sqlite 库 sourceforg...

本文实例分析了c# sqlite操作方法。分享给大家供大家参考,具体如下:

最近项目需求用c#保存一些数据,如此先总结一下。需要下载sqlite 库 sourceforge 链接网址或到官方网下载都可以,下载之后安装。在c#项目中添加引用 引入安装目录bin中的system.data.sqlite.dll。添加命名空间using system.data.sqlite;便可以在你的项目中

对扩平台的微型数据库sqlite 进行使用了,

主要注意一点是:

数据库若未创建则使用:

sqliteconnection.createfile(databasename);

数据库已经创建,并要进行访问:

复制代码 代码如下:
sqliteconnection m_conn = new sqliteconnection("datasource="+m_dbname+";version=3;new=false;compress=true;");

下面是项目中封装的操作数据库代码,使用时可稍微修改便可在项目中使用。
using system;
using system.collections.generic;
using system.text;
using system.data.sqlite;
namespace toolbar
{
  public class cspdatabase
  {
    protected string m_dbname;
    protected string m_tablename;
    protected string m_password;
    public cspdatabase(string dbname)
    {
      m_dbname  = dbname;
      m_tablename = "mhtinfo";
      m_password = "";
    }
    //create database
    public virtual void init() { }
    public virtual void createdatabase() { }
    public virtual void opendatabase() { }
    public virtual void setpassword(string password) { }
    //connect database
    public virtual void connectdatabase() { }
    //create table
    public virtual void createtable(string tablename) { }
    //insert data
    public virtual void insert(string mhtlocation) { }
  }
}

using system;
using system.collections.generic;
using system.text;
using system.data.sqlite;
using system.windows.forms;
namespace toolbar
{
  class sqlitedatabase : cspdatabase
  {
    private sqliteconnection m_conn= null;
    private sqlitecommand m_cmd=null;
    public sqlitedatabase(string dbname):base(dbname)
    {
    }
    public override void init()
    {
      if(m_conn == null)
        m_conn = new sqliteconnection();
      m_cmd = new sqlitecommand();
      m_cmd.connection = m_conn;
    }
    public override void createdatabase()
    {
      //create database
      try
      {
        sqliteconnection.createfile(m_dbname);
        init();
        connectdatabase();
      }
      catch (system.exception e)
      {
        messagebox.show("create database failed!");
      }
    }
    public override void opendatabase()
    {
      m_conn = new sqliteconnection("data source="+m_dbname+";version=3;new=false;compress=true;");
      init();
      connectdatabase();
    }
    public override void setpassword(string password)
    {
      m_password = password;
    }
    public override void connectdatabase()
    {
      //connect to database
      try
      {
        sqliteconnectionstringbuilder connstr = new sqliteconnectionstringbuilder();
        connstr.datasource = m_dbname;
        if(m_password != "")
          connstr.password = m_password;
        m_conn.connectionstring = connstr.tostring();
      }
      catch (system.exception e)
      {
        messagebox.show("fail to connect to the database");
      }
    }
    //create table
    public override void createtable(string tablename)
    {
      try
      {
        m_tablename = tablename;
        m_conn.open();
        string sql = "create table " + tablename + "(mhtlocation varchar(20))";
        m_cmd.commandtext = sql;
        m_cmd.executenonquery();
        m_conn.close();
      }
      catch (system.exception e)
      {
        messagebox.show("create table failed!");
      }
    }
    public override void insert(string mhtlocation)
    {
      try
      {
        //insert data
        m_conn.open();
        string sql = "insert into [" + m_tablename + "] values('" + mhtlocation + "')";
        m_cmd.commandtext = sql;
        m_cmd.executenonquery();
        m_conn.close();
      }
      catch (system.exception e)
      {
        messagebox.show(e.tostring());
      }
    }
  }
}

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#程序设计之线程使用技巧总结》、《c#操作excel技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#数组操作技巧总结》及《c#面向对象程序设计入门教程

希望本文所述对大家c#程序设计有所帮助。