1. 程式人生 > >winform中讀寫SQLite資料庫例子

winform中讀寫SQLite資料庫例子

原文:http://blog.csdn.net/gdjlc/article/details/8352066

App.config

[html] view plain copy  print?
  1. <?xmlversion="1.0"?>
  2. <configuration>
  3.   <appSettings>
  4.     <!--FailIfMissing=false表示資料庫不存在時就會自動建立-->
  5.     <addkey="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 plain copy  print?
  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. publicclass SqliteHelper  
  9. {  
  10.     public SqliteHelper()  
  11.     {  
  12.         //
  13.         //TODO: 在此處新增建構函式邏輯
  14.         //
  15.     }  
  16.     privatestatic SQLiteConnection GetConnection()  
  17.     {  
  18.         string connStr = System.Configuration.ConfigurationManager.AppSettings["DbSQLite"].ToString();   
  19.         SQLiteConnection conn = new SQLiteConnection(connStr);  
  20.         conn.Open();  
  21.         return conn;  
  22.     }  
  23.     publicstaticint ExecuteSql(string sql)  
  24.     {  
  25.         using (SQLiteConnection conn = GetConnection())  
  26.         {  
  27.             var cmd = new SQLiteCommand(sql, conn);  
  28.             return cmd.ExecuteNonQuery();  
  29.         }  
  30.     }  
  31.     publicstaticint ExecuteScalar(string sql)  
  32.     {  
  33.         using (SQLiteConnection conn = GetConnection())  
  34.         {  
  35.             var cmd = new SQLiteCommand(sql, conn);  
  36.             object o = cmd.ExecuteScalar();  
  37.             returnint.Parse(o.ToString());  
  38.         }  
  39.     }  
  40.     publicstatic SQLiteDataReader ExecuteReader(string sql)  
  41.     {  
  42.         SQLiteConnection conn = GetConnection();  
  43.         var cmd = new SQLiteCommand(sql, conn);  
  44.         SQLiteDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  45.         return myReader;  
  46.     }  
  47.     publicstatic DataSet ExecDataSet(string sql)  
  48.     {  
  49.         using (SQLiteConnection conn = GetConnection())  
  50.         {  
  51.             var cmd = new SQLiteCommand(sql, conn);  
  52.             SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);  
  53.             DataSet ds = new DataSet();  
  54.             da.Fill(ds);  
  55.             return ds;  
  56.         }  
  57.     }  
  58. }  

窗體中應用Form1.cs

[csharp] view plain copy  print?
  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. }  

相關推薦

winformSQLite資料庫例子

原文:http://blog.csdn.net/gdjlc/article/details/8352066 App.config [html] view plain copy  print? <?xmlversion="1.0"?> <c

QTSqlite資料庫的三種方式

     QT對一些基本的資料庫的訪問封裝,可謂是極大的方便的我們開發人員,現在我們就來說下QT對Sqlite這個資料庫的讀寫,Sqlite是一個比較小型的本地資料庫,對於儲存一些軟體配置引數或量不是很大的資料是相當的方便,Qt本身已經自帶了Sqlite的驅動,直接使用相關的

Sparkmysql資料庫

Spark中讀寫MySQL資料庫 一.使用Intellij編寫Spark程式讀取MySQL資料庫 1.在windows系統中,安裝有mysql資料庫。主要情況如下: mysql> show databases; +--------------

C#INI檔案的方法例子

[DllImport(“kernel32”)] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImp

在android文件

sdk ack pub 只有一個 ont miss apk view save 在android中讀寫文件 android中只有一個盤,正斜杠/代表根目錄。 我們常見的SDK的位置為:/mnt/sdcard 兩種最常見的數據存儲方式: 一、內存 二、本地   1.手

在C#INI配置文件(轉)

換行 value .config pri mas 文本 data- ini文件 def 在作應用系統開發時,管理配置是必不可少的。例如數據庫服務器的配置、安裝和更新配置等等。由於Xml的興起,現在的配置文件大都是以xml文檔來存儲。比如Visual Studio.Net自身

C#INI文件

ots files inter services urn ons int ipa mes C#中讀寫INI文件   c#的類沒有直接提供對ini文件的操作支持,可以自己包裝win api的WritePrivateProfileString和GetPrivateProfile

pythonexcel並存入mysql

xxxxx 指定 pytho 一個 讀寫 連接 size mysq 亂碼 為了一個突如其來的想法:用python簡單解決就好。現在算是把這個項目需要的基礎功能坑都填完了。剩下就是AI和數據展示方面的坑了。 今天遇到的坑是: 1、從excel讀出的中文

python 在內存:StringIO / BytesIO

max-width int overflow .py expect code word-wrap over enc 操作字符串,使用StringIO#!/usr/bin/python # -*- coding: utf-8 -*- from io import Strin

linux驅動硬體暫存器(例如__raw_writel)

   __iomem原始碼位置:include/linux/compiler.h # define __force    __attribute__((force)) //變數可以進行強制轉換 # define __nocast &

Java專案檔案

1.讀取檔案 InputStream input;//輸入流 InputStreamReader isr = null; BufferedReader br = null; //用於包裝InputStreamReader,提高處理效能。因為

QTSqlite

在.pro檔案中新增QT += sql 執行qmake QT對一些基本的資料庫的訪問封裝,可謂是極大的方便的我們開發人員,現在我們就來說下QT對Sqlite這個資料庫的讀寫,Sqlite是一

Go實戰--golang檔案的幾種方式

讀寫檔案應該是在開發過程中經常遇到的,今天要跟大家一起分享的就是在golang的世界中,如何讀寫檔案。 使用io/ioutil進行讀寫檔案 其中提到了兩個方法: func ReadFile func ReadFile(filename string) ([]by

【Unity3D外掛】在Unity檔案資料:LitJSON快速教程

  介紹   JSON是一個簡單的,但功能強大的序列化資料格式。它定義了簡單的型別,如布林,數(int和float)和字串,和幾個資料結構:list和dictionnary。可以在http://JSON.org瞭解關於JSON的更多資訊。   litjson是用C #編寫的,它的目的是要小,快速,易用。它使

pythonsqlite3資料庫並將統計資料寫入excel

    src = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.com\\test' #    dst = sys.argv[2]     dst = 'F:\\log\\mha-041log\\rnd-log-dl.huawei.co

android xml檔案時取得路徑的方法/data/sdcard/src

  package com.eboy.readwritexml; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream;

在安卓系統資料

0.安卓儲存空間: 目錄結構在FileExplorer中檢視,可通過Windows/Show View/Others/FileExplorer開啟 內部儲存空間(internal storage):自帶的,必須有的 RAM記憶體:執行記憶體(電腦記憶體) ROM記憶體:儲存空間(電腦

Linux鎖--鎖優先

my_pthread_rwlock.h:#pragma once #include<pthread.h> #include<stdio.h> typedef struct { pthread_mutex_t rw_mutex; pt

apiCloud檔案的方法

    在apicloud中分別有api.readfile和api.writeFile兩個方法可以對檔案進行讀寫。 function Examination(){ //alert('ok');//讀取配置資訊並判斷api.readFile({path:'fs://confi

從HDFS檔案系統檔案原理

1、從HDFS檔案系統中寫檔案     1、客戶端發起請求要寫檔案 /aa/jdk.tgz      2、namenode會檢查該目錄是否存在,返回是否可寫      3、客戶端請求寫入第一個block      4、namenode返回3個datanode主機