C#.net連接SQLite及遇到的問題


1、Slite簡介

SQLite,是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHPJava等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月。 至今已經有13個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。

2、在C#中連接Sqlite

連接Sqlite首先需要添加System.Data.SQLite.dll和System.Data.SQLite.Linq.dll的引用,這兩個dll文件你可以根據你的操作系統版本選擇合適的安裝版本,對於這兩個dll網上有的說放在system32或者指定目錄下,然后注冊,但是我按照那種做法就會出現“模塊 ***.dll 已加載,但找不到入口點DllRegisterSever”這個問題,我也嘗試着按網上的方法去解決,但是最后還是沒有解決,尼瑪,我果斷不管它,直接在項目里面引用這兩個dll文件。

代碼:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Text;
 7 using System.Windows.Forms;
 8 using System.Data.SQLite ;
 9 
10 namespace Connect
11 {
12 public partial class Form1 : Form
13  {
14   public static SQLiteConnection sqlConn;
15   public static string ConnectionString = "Data Source=E:/instance;Pooling=true;Integrated Security=True";//存儲公用的數據庫連接字符串
16 
17 
18   //打開數據庫連接
19   public static SQLiteConnection StartSQLConn()
20   {
21     sqlConn = new SQLiteConnection(ConnectionString);
22     try
23     {
24       sqlConn.Open();
25     }
26      catch
27     {
28       sqlConn = null;
29     }
30   return sqlConn;
31   }

32   public static bool GetSQLCmd(string SQLstr)
33   {
34     bool flag = false;
35     StartSQLConn();
36     if (sqlConn != null)
37     {
38       SQLiteCommand SQLcmd = new SQLiteCommand(SQLstr, sqlConn);
39       try
40       {
41         if (SQLcmd.ExecuteNonQuery() > 0)//執行SQL語句
42         flag = true;
43       }
44       catch
45       { }
46       sqlConn.Close();
47      }
48     return flag;
49   }
50   public Form1()
51   {
52     InitializeComponent();
53   }
54 
55   private void button1_Click(object sender, EventArgs e)
56   {
57     GetSQLCmd("insert into circuit(instance,user,coordinate,path,time)values('sun','qin','xin','hao','2014-04-23 14:55:10')");
60   }
61  }
62 }

本以為一切都OK,誰知運行后彈出錯誤“混合模式程序集是針對“v2.0.50727”版的運行時生成的,在沒有配置其他信息的情況下,無法在 4.0 運行時中加載該程序集。”,對於這個問題,網上有說在app.config 中的configuration 節點中添加以下設置:

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>

我覺得實在不願再折騰,就直接關掉VS2010,用VS2008進行編譯,誰知,一切OK。

 

以上是我首次使用C#連接SQLite,也是首次使用SQLite遇到的一些問題,不喜勿噴哦!


免責聲明!

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



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