zoukankan      html  css  js  c++  java
  • 备份sqlite操作

            /// <summary>
            
    /// 执行语句
            
    /// </summary>
            
    /// <param name="dbPath"></param>
            
    /// <param name="sql"></param>
            static void ExecSql(string dbPath, string sql)
            {
                ExecSql(dbPath, sql, 
    null);
            }

            
    /// <summary>
            
    /// 执行语句
            
    /// </summary>
            
    /// <param name="dbPath"></param>
            
    /// <param name="sql"></param>
            
    /// <param name="prams"></param>
            static void ExecSql(string dbPath, string sql, SQLiteParameter[] prams)
            {
                
    using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + dbPath))
                {
                    conn.Open();
                    
    using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                    {
                        
    if (prams != null)
                        {
                            
    foreach (SQLiteParameter parameter in prams)
                            {
                                cmd.Parameters.Add(parameter);
                            }
                        }
                        cmd.ExecuteNonQuery();
                        cmd.Dispose();
                    }
                    conn.Close();
                    conn.Dispose();
                }
            }

            
    /// <summary>
            
    /// 执行查询
            
    /// </summary>
            
    /// <param name="dbPath"></param>
            
    /// <param name="sql"></param>
            
    /// <param name="fn"></param>
            static void ReadSql(string dbPath, string sql, Action<SQLiteDataReader> fn)
            {
                ReadSql(dbPath, sql, fn, 
    null);
            }

            
    /// <summary>
            
    /// 执行查询
            
    /// </summary>
            
    /// <param name="dbPath"></param>
            
    /// <param name="sql"></param>
            
    /// <param name="fn"></param>
            
    /// <param name="prams"></param>
            static void ReadSql(string dbPath, string sql, Action<SQLiteDataReader> fn, SQLiteParameter[] prams)
            {
                
    using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + dbPath))
                {
                    conn.Open();
                    
    using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                    {
                        
    if (prams != null)
                        {
                            
    foreach (SQLiteParameter parameter in prams)
                            {
                                cmd.Parameters.Add(parameter);
                            }
                        }
                        
    using (SQLiteDataReader rs = cmd.ExecuteReader())
                        {                        
                            
    while (rs.Read())
                            {
                                fn(rs);
                            }
                            rs.Close();
                            rs.Dispose();
                        }
                        cmd.Dispose();
                    }
                    conn.Close();
                    conn.Dispose();
                }
            }
  • 相关阅读:
    测试次数--蓝桥杯
    承压计算--蓝桥杯
    天梯赛--连续因子
    等差素数数列-蓝桥杯
    hdu-1237-简单计算器
    hdu-1022-栈
    [BZOJ3172]:[Tjoi2013]单词(AC自动机)
    [BZOJ4327]:[JZOI2012]玄武密码(AC自动机)
    [HDU5360]:Gorgeous Sequence(小清新线段树)
    [BZOJ3307]:雨天的尾巴(LCA+树上差分+权值线段树)
  • 原文地址:https://www.cnblogs.com/jiang_zheng/p/sqlite.html
Copyright © 2011-2022 走看看