C# SQlite操作方法小結(jié)
本文實(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):
下面是項(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ì)有所幫助。
- C#操作SQLite數(shù)據(jù)庫(kù)幫助類(lèi)詳解
- c#幾種數(shù)據(jù)庫(kù)的大數(shù)據(jù)批量插入(SqlServer、Oracle、SQLite和MySql)
- C#操作SQLite數(shù)據(jù)庫(kù)之讀寫(xiě)數(shù)據(jù)庫(kù)的方法
- C#操作SQLite數(shù)據(jù)庫(kù)方法小結(jié)(創(chuàng)建,連接,插入,查詢(xún),刪除等)
- C#簡(jiǎn)單訪問(wèn)SQLite數(shù)據(jù)庫(kù)的方法(安裝,連接,查詢(xún)等)
- C#基于SQLiteHelper類(lèi)似SqlHelper類(lèi)實(shí)現(xiàn)存取Sqlite數(shù)據(jù)庫(kù)的方法
- C#操作SQLite方法實(shí)例詳解
- C#調(diào)用SQLite的方法實(shí)例分析
- C#封裝的Sqlite訪問(wèn)類(lèi)實(shí)例
- C#解決SQlite并發(fā)異常問(wèn)題的方法(使用讀寫(xiě)鎖)
- C#事務(wù)處理(Execute Transaction)實(shí)例解析
- C# SQLite事務(wù)操作方法分析
相關(guān)文章
Unity輸出帶點(diǎn)擊跳轉(zhuǎn)功能的Log實(shí)現(xiàn)技巧詳解
這篇文章主要為大家介紹了Unity輸出帶點(diǎn)擊跳轉(zhuǎn)功能的Log實(shí)現(xiàn)技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11C#編程實(shí)現(xiàn)帶有Aero效果的窗體示例
這篇文章主要介紹了C#編程實(shí)現(xiàn)帶有Aero效果的窗體,涉及C#調(diào)用動(dòng)態(tài)鏈接庫(kù)針對(duì)窗體屬性的相關(guān)操作技巧,需要的朋友可以參考下2017-07-07關(guān)于C#10 新特性 Lambda 優(yōu)化
這篇文章主要介紹了C# 10 新特性 Lambda 優(yōu)化,C# 10 對(duì)于 Lambda 做了很多的優(yōu)化,我們可以在 C# 中更加方便地使用委托和 Lambda 了,下面就來(lái)看一些示例,需要的朋友也可以參考一下2021-11-11如何在C#項(xiàng)目中鏈接一個(gè)文件夾下的所有文件詳解
很多時(shí)候我們需要獲取一個(gè)結(jié)構(gòu)未知的文件夾下所有的文件或是指定類(lèi)型的所有文件,下面這篇文章主要給大家介紹了關(guān)于如何在C#項(xiàng)目中鏈接一個(gè)文件夾下的所有文件,需要的朋友可以參考下2023-02-02算法練習(xí)之從String.indexOf的模擬實(shí)現(xiàn)開(kāi)始
這篇文章主要介紹了算法練習(xí)從String.indexOf的模擬實(shí)現(xiàn)開(kāi)始,需要的朋友可以參考下2014-12-12Unity編輯器資源導(dǎo)入處理函數(shù)OnPreprocessAudio用法示例
這篇文章主要為大家介紹了Unity編輯器資源導(dǎo)入處理函數(shù)OnPreprocessAudio用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08詳解C#如何使用重載方法實(shí)現(xiàn)不同類(lèi)型數(shù)據(jù)的計(jì)算
這篇文章主要為大家詳細(xì)介紹了C#如何使用重載方法實(shí)現(xiàn)不同類(lèi)型數(shù)據(jù)的計(jì)算,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02