C SQLite資料庫入門使用說明

2022-09-26 12:24:25 字數 3423 閱讀 4724

前言

我們在開發應用是經常會需要用到一些資料的儲存,儲存的方式有多種,使用資料庫是一種比較受大家歡迎的方式。但是對於一些小型的應用,如一些移動app,通常的資料庫過於龐大,而輕便的sqlite則能解決這一問題。不但操作方便,而且只需要要乙個檔案即可,在這裡我們來說一說使用c#語言操作sqlite資料庫。

一、nuget引入sqlite庫

在vs選單:工具→nuget包管理器→管理解決方案的nuget程式包 開啟nuget解決方案視窗。

搜尋 sqlite,選擇官方的庫安裝到指定的專案中。:

提示:system.data.sqlite 分為 x86 和 x64 版本,這裡推薦使用nuget自動安裝。使用 any cpu 編譯的時候,會自動拷貝32位和64位 interop dll檔案到子目錄中。程式執行的時候會根據電腦的執行環境自動選擇合適的dll。

二、dbhelper類庫

using system.collections.generic;

using system.data;

using system.data.sqlite;

using system.configuration;

using system.data.sqlclient;

//using mysql.data.mysqlclient;

namespace consoleapp5

//執行非查詢語句

public static int executenonquery(idbconnection conn, string sql, dictionary parameters)

return cmd.executenonquery();

}} //執行非查詢語句-獨立連線

public static int executenonquery(string sql, dictionary parameters)

}//查詢首行首列

public static object executescalar(idbconnection conn, string sql, dictionary parameters)

return cmd.executescalar();

}} //查詢首行首列-獨立連線

public static object executescalar(string sql, dictionary parameters)

}//查詢表

public static datatable executequery(idbconnection conn, string sql, dictionary parameters)

using (idatareader reader = cmd.executereader())

}return dt;

} //查詢表--獨立連線

程式設計客棧 public static datatable executequery(string sql, dictionary parameters)}}}

三、基本使用

1. 判斷資料檔案是否存在

///

/// 檢查資料庫是否存在不存在建立

///

///

public static bool checkdatabase()

return true;

} catch (exception)

}2. 判斷表是否存在

///

/// 檢查資料表是否存在,不存在建立

///

///

public static bool checkdatatable(string connstr)

else if (tablecount > 1)

else

}} catch (exception ex)

}3. 查詢

string sql = "select * from serverinfo where name =@servername and url = @url and date(createtime)=date(@date);";

dictionary parameters = new dictionary();

parameters.add("servername",endpointelement.name);

parameters.add("url", endpointelement.address);

parameters.add("date", datetime.now.tostring("yyyy-mm-dd"));

datatable dt=sqlitehelper.executequery(connstr, sql, parameters);

if (dt.rows.count>0)

4. 新增/修改

//存在更新,不存在插入

string updatesql = "replace into serverinfo(name,url,delaytime,usagecounter, status,createtime) values(@name,@url,@delaytime,@usagecounter,@status, @createtime)";

dictionary ups = new dictionary();

ups.add("name", name);

ups.add("url", url);

ups.add("delaytime", delaytime);

ups.add("usagecounter", usagecounter);

ups.add("status", status);

ups.add("createtime", datetime.now.tostring("yyyy-mm-dd hh:mm:ss"));

int count= sqlitehelper.executenonquery(connstr, updatesql, ups);

if (count>0)

else

5. 刪除

//刪除記錄

string updatesql =

"delete from serverinfo where content=@content and flag=@flag;";

dictionary updateparameters = new dictionary();

updateparameters.add("content", content);

updateparameters.add("flag", flag);

int count = sqlitehelper.ewww.cppcns.comxecutenonquery(connstr, updatesql, updateparameters);

if (count > 0)

else

四、參考文章

總結本文標題: c# sqlite資料庫入門使用說明

本文位址:

c sqlite 資料庫加密

用了 ado.net 2.0 sqlite data provider 這樣可以直接利用它來建立乙個 加密的sqlite資料庫。有關c 如下 1 建立空的sqlite資料庫。資料庫名的字尾你可以直接指定,甚至沒有字尾都可以 方法一 建立乙個空sqlite資料庫,用io的方式 filestream f...

C Sqlite 資料庫加密

用了ado.net 2.0 sqlite data provider 這樣可以直接利用它來建立乙個加密的sqlite資料庫。有關c 如下 1 建立空的sqlite資料庫。資料庫名的字尾你可以直接指定,甚至沒有字尾都可以 方法一 建立乙個空sqlite資料庫,用io的方式 filestream fs ...

入門Django ,使用sqlite資料庫

入門django 使用sqlite資料庫 1.建立工程 django admin startproject project name 2.建立應用 3.開啟admin應用 在settings.py檔案裡新增admin應用 django.contrib.admin 在url.py檔案裡新增 from ...