前言
站在用戶的角度思考問題,與客戶深入溝通,找到陵川網(wǎng)站設(shè)計(jì)與陵川網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋陵川地區(qū)。我們在開發(fā)應(yīng)用是經(jīng)常會(huì)需要用到一些數(shù)據(jù)的存儲(chǔ),存儲(chǔ)的方式有多種,使用數(shù)據(jù)庫是一種比較受大家歡迎的方式。但是對(duì)于一些小型的應(yīng)用,如一些移動(dòng)APP,通常的數(shù)據(jù)庫過于龐大,而輕便的SQLite則能解決這一問題。不但操作方便,而且只需要要一個(gè)文件即可,在這里我們來說一說使用C#語言操作SQLite數(shù)據(jù)庫。
一、NuGet引入SQLite庫
在VS菜單:工具→NuGet包管理器→管理解決方案的NuGet程序包 打開NuGet解決方案窗口。
搜索 sqlite,選擇官方的庫安裝到指定的項(xiàng)目中。:
提示:System.Data.SQLite 分為 x86 和 x64 版本,這里推薦使用NuGet自動(dòng)安裝。使用 Any CPU 編譯的時(shí)候,會(huì)自動(dòng)拷貝32位和64位 Interop DLL文件到子目錄中。程序運(yùn)行的時(shí)候會(huì)根據(jù)電腦的運(yùn)行環(huán)境自動(dòng)選擇合適的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 class DBHelper { private readonly static string connStr = ConfigurationManager.ConnectionStrings["Data Source=mesclient.sqlite;Version=3"].ConnectionString; //獲取 appsetting 設(shè)置的值 //private readonly static string appStr = ConfigurationManager.AppSettings["TestKey"]; //獲取 connection 對(duì)象 public static IDbConnection CreateConnection() { IDbConnection conn = new SQLiteConnection(connStr);//MySqlConnection //SqlConnection conn.Open(); return conn; } //執(zhí)行非查詢語句 public static int ExecuteNonQuery(IDbConnection conn, string sql, Dictionaryparameters) { using (IDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (KeyValuePair keyValuePair in parameters) { IDbDataParameter parameter = cmd.CreateParameter(); parameter.ParameterName = keyValuePair.Key; parameter.Value = keyValuePair.Value; cmd.Parameters.Add(parameter); } return cmd.ExecuteNonQuery(); } } //執(zhí)行非查詢語句-獨(dú)立連接 public static int ExecuteNonQuery(string sql, Dictionary parameters) { using (IDbConnection conn = CreateConnection()) { return ExecuteNonQuery(conn, sql, parameters); } } //查詢首行首列 public static object ExecuteScalar(IDbConnection conn, string sql, Dictionary parameters) { using (IDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (KeyValuePair keyValuePair in parameters) { IDbDataParameter parameter = cmd.CreateParameter(); parameter.ParameterName = keyValuePair.Key; parameter.Value = keyValuePair.Value; cmd.Parameters.Add(parameter); } return cmd.ExecuteScalar(); } } //查詢首行首列-獨(dú)立連接 public static object ExecuteScalar(string sql, Dictionary parameters) { using (IDbConnection conn = CreateConnection()) { return ExecuteScalar(conn, sql, parameters); } } //查詢表 public static DataTable ExecuteQuery(IDbConnection conn, string sql, Dictionary parameters) { DataTable dt = new DataTable(); using (IDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (KeyValuePair keyValuePair in parameters) { IDbDataParameter parameter = cmd.CreateParameter(); parameter.ParameterName = keyValuePair.Key; parameter.Value = keyValuePair.Value; cmd.Parameters.Add(parameter); } using (IDataReader reader = cmd.ExecuteReader()) { dt.Load(reader); } } return dt; } //查詢表--獨(dú)立連接 public static DataTable ExecuteQuery(string sql, Dictionary parameters) { using (IDbConnection conn = CreateConnection()) { return ExecuteQuery(conn, sql, parameters); } } } }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。