当前位置: 移动技术网 > IT编程>开发语言>c# > C# SQlite操作方法小结

C# SQlite操作方法小结

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例分析了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#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网