美文网首页
用于 C# 的 SQL 基本语法总结

用于 C# 的 SQL 基本语法总结

作者: 雪中亮 | 来源:发表于2017-03-22 11:03 被阅读84次

    「博客搬家」 原地址: CSDN 原发表时间: 2016-09-25

    本文目前用于 Visual Studio 2015 平台的 SQLite3 , 其他用法以后总结。

    1. 使用 Nuget 添加 SQLite 库

    在 Visual Studio 2015 中,选择:工具 -> NuGet 包管理器 -> 管理解决方案的 NuGet 程序包

    NuGet 管理界面

    在此界面下检索「SQLite」, 根据需要选择安装其中一个 SQLite 库,最好是红框部分内容中,二选一。

    之后在界面的右侧,选择需要安装到的项目,之后进行安装操作即可。

    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 数据库

    相关文章

      网友评论

          本文标题:用于 C# 的 SQL 基本语法总结

          本文链接:https://www.haomeiwen.com/subject/lkfonttx.html