C# 操作sqlite


SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分,所以主要的通信協議是在編程語言內的直接API調用。

1.下載動態庫

官網下載地址:https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki。

根據.net版本選擇,我使用的是.net4.5版本,操作系統是windows 64位。

bundle版本:sqlite-netFx45-setup-bundle-x64-2012-1.0.114.0.exe

binary版本:sqlite-netFx45-binary-x64-2012-1.0.114.0.zip

運行環境:.net4.5,Visual C++ 2012

Visual C++ 2012的下載地址:https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads

使用binary版本需要將SQLite.Interop.dll拷貝到文件執行目錄,否則會報錯,所以我選擇用bundle版本,安裝完成后將其中的System.Data.SQLite.dll添加到項目引用中即可。

using System.Data.SQLite;//引用

/// <summary> /// 設置連接字符串 /// </summary> /// <param name="dbpath">數據庫文件路徑</param> /// <param name="password">連接密碼</param> public static void SetconnectionStr(string dbpath, string password=null) { SQLiteConnectionStringBuilder connstr = new SQLiteConnectionStringBuilder(); connstr.DataSource = dbpath; if (!string.IsNullOrEmpty(password)) { connstr.Password = password;//連接密碼 } connstr.JournalMode = SQLiteJournalModeEnum.Wal; connectionString = connstr.ToString(); } /// <summary> /// 執行SQL語句,返回影響的記錄數 /// </summary> /// <param name="SQLString">SQL語句</param> /// <returns>影響的記錄數</returns> public static int ExecuteSql(string SQLString) { using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection)) { try { connection.Open();//打開連接 int rows = cmd.ExecuteNonQuery(); connection.Close(); connection.Dispose(); return rows; } catch (System.Data.SQLite.SQLiteException E) { connection.Close(); throw new Exception(E.Message); } } } }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM