用于 C# 的 SQL 基本語法總結(jié)

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

本文目前用于 Visual Studio 2015 平臺的 SQLite3 , 其他用法以后總結(jié)。

1. 使用 Nuget 添加 SQLite 庫

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

NuGet 管理界面

在此界面下檢索「SQLite」, 根據(jù)需要選擇安裝其中一個 SQLite 庫,最好是紅框部分內(nèi)容中,二選一。

之后在界面的右側(cè),選擇需要安裝到的項(xiàng)目,之后進(jìn)行安裝操作即可。

2. 常用策略

2.1 對異常進(jìn)行捕獲

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

2.2 事務(wù)及 SQLite 代碼框架

//使用以下語句配合具體的SQL操作語句即可
//注:不主動控制事務(wù)時,每次執(zhí)行SQL指令即會重復(fù)開啟新的事務(wù),
//會在SQL操作方面花費(fèi)大量的時間。所以在進(jìn)行大量插入、修改操作
//時,主動開啟事務(wù)會極大節(jié)省時間
var conn = new SQLiteConnection("Data Source = 
           ./bitkyData.db; Version = 3; ");
conn.Open();
var trans = conn.BeginTransaction(); //開啟事務(wù)
var cmd = conn.CreateCommand();
try
{
    //通過操作cmd,使用具體的SQL操作語句
}
catch (Exception)
{
    trans.Rollback(); //事務(wù)回滾
    //進(jìn)行具體的異常處理
}
trans.Commit();//事務(wù)提交
conn.Close();//連接關(guān)閉

3. 必備代碼塊

3.1 必要初始化操作

//指定數(shù)據(jù)庫的地址,以及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 設(shè)置查詢的條件,查詢指定條目的內(nèi)容

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

3.4 獲取數(shù)據(jù)表中條目的數(shù)量

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

4. 參考資料

  1. C# 查詢 SQL 數(shù)據(jù)庫表里共有多少條記錄的兩種方法
  2. C# 獲取 SQL 2005 表中的記錄總數(shù)
  3. C# , SQLite 批量操作速度優(yōu)化
  4. C# 操作 Dataset 數(shù)據(jù)集與 SQLite 數(shù)據(jù)庫
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • 我們非常榮幸地宣布 Visual Studio 2017 現(xiàn)已推出! 此次發(fā)布提供新的輕量模塊式安裝體驗(yàn),可根據(jù)自...
    三夢哥閱讀 7,907評論 0 6
  • 你的二十歲是什么樣子的?可以和我說說嗎? 我此時的二十歲,充滿的不安與迷茫,我一邊期待著未來,一邊又對她的到來惶恐...
    謹(jǐn)喻zhang閱讀 458評論 0 0
  • 作者:云煙 昨天和我開了個玩笑, 我就在回憶里哭了, 淚水漣漣, 濕了江南雨; 昨天輕輕地和我招了一下手, 我心起...
    當(dāng)代詩人云煙閱讀 489評論 8 6
  • 每一年春天到來的時候,看著充滿著希望的綠色一點(diǎn)點(diǎn)的充滿整個城市,也就到了我的難過的時候。你猜對了,我花粉過敏。每一...
    悟_28d4閱讀 206評論 0 0

友情鏈接更多精彩內(nèi)容