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();
                }
            }
  • 相关阅读:
    页面性能优化之内容加载优化(转)
    (Windbg调试六)c++句柄泄漏问题定位
    (Windbg调试五)C++内存越界导致的std::map异常
    (Windbg调试四)C++死锁问题定位与分析
    (Windbg调试三)C++ delete指针后依然可以访问的问题
    (Windbg调试二)Windows下c++程序崩溃问题定位
    (Windbg调试一)minidump崩溃捕捉
    WinDbg调试:配置和查看符号
    为WinDbg设置符号文件路径
    Windbg符号与源码 《第二篇》
  • 原文地址:https://www.cnblogs.com/jiang_zheng/p/sqlite.html
Copyright © 2011-2022 走看看