欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# SQlite操作方法小結(jié)

 更新時(shí)間:2016年07月05日 09:14:11   作者:雪岢奇  
這篇文章主要介紹了C# SQlite操作方法,較為詳細(xì)的講述了SQLite的下載與C#針對(duì)SQLite的連接、創(chuàng)建、與執(zhí)行SQL語(yǔ)句等操作相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例分析了C# SQlite操作方法。分享給大家供大家參考,具體如下:

最近項(xiàng)目需求用C#保存一些數(shù)據(jù),如此先總結(jié)一下。需要下載Sqlite 庫(kù) SourceForge 鏈接網(wǎng)址http://sourceforge.net/projects/sqlite-dotnet2/或到官方網(wǎng)http://www.sqlite.org/download.html下載都可以,下載之后安裝。在C#項(xiàng)目中添加引用 引入安裝目錄bin中的System.Data.SQLite.dll。添加命名空間using System.Data.SQLite;便可以在你的項(xiàng)目中

對(duì)擴(kuò)平臺(tái)的微型數(shù)據(jù)庫(kù)SQlite 進(jìn)行使用了,

主要注意一點(diǎn)是:

數(shù)據(jù)庫(kù)若未創(chuàng)建則使用:

SQLiteConnection.CreateFile(databaseName);

數(shù)據(jù)庫(kù)已經(jīng)創(chuàng)建,并要進(jìn)行訪問(wèn):

復(fù)制代碼 代碼如下:
SQLiteConnection m_conn = new SQLiteConnection("DataSource="+m_dbName+";Version=3;New=False;Compress=True;");

下面是項(xiàng)目中封裝的操作數(shù)據(jù)庫(kù)代碼,使用時(shí)可稍微修改便可在項(xiàng)目中使用。

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());
      }
    }
  }
}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見(jiàn)控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論