用於 C# 的 SQL 基本語法總結

「博客搬家」 原地址: CSDN 原發表時間: 2016-09-25

本文目前用於 Visual Studio 2015 平臺的 SQLite3 , 其餘用法之後總結。html

1. 使用 Nuget 添加 SQLite 庫

在 Visual Studio 2015 中,選擇:工具 -> NuGet 包管理器 -> 管理解決方案的 NuGet 程序包數據庫

NuGet 管理界面

在此界面下檢索「SQLite」, 根據須要選擇安裝其中一個 SQLite 庫,最好是紅框部份內容中,二選一。c#

以後在界面的右側,選擇須要安裝到的項目,以後進行安裝操做便可。框架

2. 經常使用策略

2.1 對異常進行捕獲

try
{
    //將對數據庫進行操做的語句放置在try中
}
catch (Exception ex)
{
    //對異常進行處理
}

2.2 事務及 SQLite 代碼框架

//使用如下語句配合具體的SQL操做語句便可
//注:不主動控制事務時,每次執行SQL指令即會重複開啓新的事務,
//會在SQL操做方面花費大量的時間。因此在進行大量插入、修改操做
//時,主動開啓事務會極大節省時間
var conn = new SQLiteConnection("Data Source = 
           ./bitkyData.db; Version = 3; ");
conn.Open();
var trans = conn.BeginTransaction(); //開啓事務
var cmd = conn.CreateCommand();
try
{
    //經過操做cmd,使用具體的SQL操做語句
}
catch (Exception)
{
    trans.Rollback(); //事務回滾
    //進行具體的異常處理
}
trans.Commit();//事務提交
conn.Close();//鏈接關閉

3. 必備代碼塊

3.1 必要初始化操做

//指定數據庫的地址,以及SQLite版本號
SQLiteConnection conn = new SQLiteConnection("Data Source = ./bitkyData.db; Version = 3; ");

3.2 向表中插入指定的條目

void insertData()
{
    conn.Open();
    var cmd = conn.CreateCommand();
    cmd.CommandText = "INSERT INTO ElectrodeController(typeA,typeB,typeM) VALUES (1, 2, 3)";
    cmd.ExecuteNonQuery();
    conn.Close();
}

3.3 設置查詢的條件,查詢指定條目的內容

static void selectData()
{
    conn.Open();
    var cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT * FROM
    ElectrodeController where num > 45";
    var reader = cmd.ExecuteReader();//獲取結果集
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            Debug.WriteLine("ID: " + reader.GetInt32(0));
        }
    }
    conn.Close();
}

3.4 獲取數據表中條目的數量

static void getCount()
{
    conn.Open();
    var cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT COUNT(*) FROM ElectrodeController";
    var scalar = cmd.ExecuteScalar();\\獲取結果集中第一行第一列的那個值
    Debug.WriteLine("count: " + Convert.ToInt32(scalar));
    conn.Close();
}

4. 參考資料

  1. C# 查詢 SQL 數據庫表裏共有多少條記錄的兩種方法
  2. C# 獲取 SQL 2005 表中的記錄總數
  3. C# , SQLite 批量操做速度優化
  4. C# 操做 Dataset 數據集與 SQLite 數據庫
相關文章
相關標籤/搜索