winform中讀寫SQLite資料庫例子(轉)

來源:互聯網
上載者:User

標籤:

.Net SQLite資料庫驅動以及System.Data.SQLite.dll下載最新地址:

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

SQLite管理工具:

http://www.cr173.com/soft/94247.html

 

App.config檔案修改:

[html] view plaincopyprint? 
  1. <?xml version="1.0"?>  
  2. <configuration>  
  3.   <appSettings>  
  4.     <!--FailIfMissing=false表示資料庫不存在時就會自動建立-->  
  5.     <add key="DbSQLite" value="data source=|DataDirectory|DB.db3;Pooling=true;FailIfMissing=false"/>  
  6.   </appSettings>  
  7. </configuration>  

備忘:如果開發環境是4.0,而System.Data.Sqlite是比較低的版本,則可能會彈出錯誤資訊“混合模式程式集是針對“v2.0.50727”版的運行時產生的,在沒有配置其他資訊的情況下,無法在 4.0 運行時中載入該程式集”,解決方案是在上面加上:

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

</startup>

 

資料庫讀寫助手SqliteHelper.cs

[csharp] view plaincopyprint? 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Data;  
  6. using System.Data.Common;  
  7. using System.Data.SQLite;  
  8.   
  9.   
  10. public class SqliteHelper  
  11. {  
  12.     public SqliteHelper()  
  13.     {  
  14.         //  
  15.         //TODO: 在此處添加建構函式邏輯  
  16.         //  
  17.     }  
  18.   
  19.     private static SQLiteConnection GetConnection()  
  20.     {  
  21.         string connStr = System.Configuration.ConfigurationManager.AppSettings["DbSQLite"].ToString();   
  22.         SQLiteConnection conn = new SQLiteConnection(connStr);  
  23.         conn.Open();  
  24.         return conn;  
  25.     }  
  26.   
  27.     public static int ExecuteSql(string sql)  
  28.     {  
  29.         using (SQLiteConnection conn = GetConnection())  
  30.         {  
  31.             var cmd = new SQLiteCommand(sql, conn);  
  32.             return cmd.ExecuteNonQuery();  
  33.         }  
  34.     }  
  35.   
  36.     public static int ExecuteScalar(string sql)  
  37.     {  
  38.         using (SQLiteConnection conn = GetConnection())  
  39.         {  
  40.             var cmd = new SQLiteCommand(sql, conn);  
  41.             object o = cmd.ExecuteScalar();  
  42.             return int.Parse(o.ToString());  
  43.         }  
  44.     }  
  45.     public static SQLiteDataReader ExecuteReader(string sql)  
  46.     {  
  47.         SQLiteConnection conn = GetConnection();  
  48.         var cmd = new SQLiteCommand(sql, conn);  
  49.         SQLiteDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  50.         return myReader;  
  51.     }  
  52.     public static DataSet ExecDataSet(string sql)  
  53.     {  
  54.         using (SQLiteConnection conn = GetConnection())  
  55.         {  
  56.             var cmd = new SQLiteCommand(sql, conn);  
  57.             SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);  
  58.             DataSet ds = new DataSet();  
  59.             da.Fill(ds);  
  60.   
  61.             return ds;  
  62.         }  
  63.     }  
  64. }  

表單中應用Form1.cs

[csharp] view plaincopyprint? 
    1.  //判斷表是否存在,不存在則產生  
    2. int result = SqliteHelper.ExecuteScalar("SELECT COUNT(*) FROM sqlite_master where type=‘table‘ and name=‘tb‘");  
    3. if (result == 0)  
    4. {  
    5.     //建立表  
    6.     SqliteHelper.ExecuteSql("create table [tb] (id integer PRIMARY KEY autoincrement, [name] varchar(20), [createDate] datetime default (datetime(‘now‘, ‘localtime‘)))");  
    7. }  
    8. //插入一行資料  
    9. result = SqliteHelper.ExecuteSql("insert into [tb](name) values (‘Luck‘)");  
    10. if(result > 0)  
    11. {  
    12.     string msg = "";  
    13.     //讀取資料  
    14.     SQLiteDataReader dr = SqliteHelper.ExecuteReader("select * from [tb]");  
    15.     if (dr.Read())  
    16.     {  
    17.         msg += dr[0] + "," + dr[1] + "," + dr[2];  
    18.     }  
    19.     MessageBox.Show(msg);  
    20. }  

winform中讀寫SQLite資料庫例子(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.