C# SQlite操作方法小结

 更新时间:2016年07月05日 09:14:11   作者:雪岢奇  
这篇文章主要介绍了C# SQlite操作方法,较为详细的讲述了SQLite的下载与C#针对SQLite的连接、创建、与执行SQL语句等操作相关技巧,需要的朋友可以参考下

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

最近项目需求用C#保存一些数据,如此先总结一下。需要下载Sqlite 库 SourceForge 链接网址http://sourceforge.net/projects/sqlite-dotnet2/或到官方网http://www.sqlite.org/download.html下载都可以,下载之后安装。在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#程序设计有所帮助。

相关文章

  • C# wpf实现任意控件更多拖动功能

    C# wpf实现任意控件更多拖动功能

    这篇文章主要为大家详细介绍了C# wpf如何实现任意控件(包括窗口)更多拖动功能,文中的示例代码讲解详细,有兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C#中XML基础用法

    C#中XML基础用法

    可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。这篇文章介绍了C#中XML基础的用法,下面的实例代码,大家可以看看
    2021-12-12
  • C#多线程学习之Thread、ThreadPool、Task、Parallel四者区别

    C#多线程学习之Thread、ThreadPool、Task、Parallel四者区别

    这篇文章主要以一些简单的小例子,简述多线程的发展历程:Thread,ThreadPool,Task,Parallel。文中的示例代码讲解详细,对我们学习C#多线程有一定帮助,需要的朋友可以参考一下
    2021-12-12
  • 利用Distinct()内置方法对List集合的去重问题详解

    利用Distinct()内置方法对List集合的去重问题详解

    这篇文章主要给大家介绍了关于利用Distinct()内置方法对List集合的去重问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • .net中常用的正则表达式

    .net中常用的正则表达式

    这篇文章介绍了.net中常用的正则表达式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#中out与ref的区别实例解析

    C#中out与ref的区别实例解析

    这篇文章主要介绍了C#中out与ref的区别实例解析,对C#初学者有不错的学习借鉴价值,需要的朋友可以参考下
    2014-08-08
  • C#获取上个月第一天和最后一天日期的方法

    C#获取上个月第一天和最后一天日期的方法

    这篇文章主要介绍了C#获取上个月第一天和最后一天日期的方法,是关于C#日期函数的简单应用,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • Unity实现10天签到系统

    Unity实现10天签到系统

    这篇文章主要为大家详细介绍了Unity实现10天签到系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    这篇文章主要给大家介绍了关于如何使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-03-03
  • 深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

    深入C# winform清除由GDI绘制出来的所有线条或图形的解决方法

    本篇文章是对在C#中使用winform清除由GDI绘制出来的所有线条或图形的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论