• 备份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();
                }
            }
  • 相关阅读:
    Netty源码分析第4章(pipeline)---->第5节: 传播outbound事件
    Netty源码分析第4章(pipeline)---->第4节: 传播inbound事件
    Google地图路线规划
    bootstrap Table 中给某一特定值设置table选中
    枚举类型定义
    日期格式转换 java 2016-09-03T00:00:00.000+08:00
    String字符串针对常量池的优化
    【转】MySQL性能优化的最佳21条经验
    【转】 jquery遍历json数组方法
    如何设置tomcat定时自动重启
  • 原文地址:https://www.cnblogs.com/jiang_zheng/p/sqlite.html
Copyright © 2020-2023  润新知