Пример #1
0
 /// <summary>
 /// 创建数据库执行语句 <see cref="CreateCommand(string, string, SQLiteParameter[])"/>
 /// </summary>
 /// <param name="conText">连接信息</param>
 /// <param name="commandText">执行字段</param>
 /// <param name="sqlParams">执行条件</param>
 /// <returns></returns>
 public static SQLiteCommand CreateCommand(string conText, string commandText, params SQLiteParameter[] sqlParams)
 {
     try
     {
         SQLiteConnection con = new SQLiteConnection(conText);
         SQLiteCommand    cmd = new SQLiteCommand(commandText, con);
         if (sqlParams.Length > 0)
         {
             foreach (var para in sqlParams)
             {
                 cmd.Parameters.Add(para);
             }
             return(cmd);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
         return(null);
     }
 }
Пример #2
0
        /// <summary>
        /// Shortcut method to execute dataset from SQL Statement and object[] arrray of  parameter values
        /// </summary>
        /// <param name="cn">Connection.</param>
        /// <param name="commandText">Command text.</param>
        /// <param name="paramList">Param list.</param>
        /// <returns></returns>
        public static DataSet ExecuteDataSet(SQLiteConnection cn, string commandText, object[] paramList)
        {
            try
            {
                SQLiteCommand cmd = cn.CreateCommand();

                cmd.CommandText = commandText;
                if (paramList != null)
                {
                    AttachParameters(cmd, commandText, paramList);
                }
                DataSet ds = new DataSet();
                if (cn.State == ConnectionState.Closed)
                {
                    cn.Open();
                }
                SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
                da.Fill(ds);
                da.Dispose();
                cmd.Dispose();
                cn.Close();
                return(ds);
            }
            catch (Exception e)
            {
                LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
                return(null);
            }
        }
Пример #3
0
        /// <summary>
        /// 得到XML读取器接口
        /// </summary>
        /// <param name="command">数据库命令</param>
        /// <returns>XmlReader</returns>
        public static XmlReader ExecuteXmlReader(IDbCommand command)
        {
            try
            {
                if (command.Connection.State != ConnectionState.Open)
                {
                    command.Connection.Open();
                }

                // get a data adapter
                SQLiteDataAdapter da = new SQLiteDataAdapter((SQLiteCommand)command);
                DataSet           ds = new DataSet();
                // fill the data set, and return the schema information
                da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                da.Fill(ds);
                // convert our dataset to XML
                StringReader stream = new StringReader(ds.GetXml());
                command.Connection.Close();
                // convert our stream of text to an XmlReader
                return(new XmlTextReader(stream));
            }
            catch (Exception e)
            {
                LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
                return(null);
            }
        }
Пример #4
0
        /// <summary>
        /// Executes the dataset with Transaction and object array of parameter values.
        /// </summary>
        /// <param name="transaction">SQLiteTransaction. Transaction consists of Connection, Transaction,    /// and Command, all of which must be created prior to making this method call. </param>
        /// <param name="commandText">Command text.</param>
        /// <param name="commandParameters">object[] array of parameter values.</param>
        /// <returns>DataSet</returns>
        /// <remarks>user must examine Transaction Object and handle transaction.connection .Close, etc.</remarks>
        public static DataSet ExecuteDataset(SQLiteTransaction transaction, string commandText, object[] commandParameters)
        {
            try
            {
                if (transaction == null)
                {
                    throw new ArgumentNullException("transaction");
                }
                if (transaction != null && transaction.Connection == null)
                {
                    throw new ArgumentException("The transaction was rolled back or committed,                                                          please provide an open transaction.", "transaction");
                }
                IDbCommand cmd = transaction.Connection.CreateCommand();
                cmd.CommandText = commandText;
                AttachParameters((SQLiteCommand)cmd, cmd.CommandText, commandParameters);
                if (transaction.Connection.State == ConnectionState.Closed)
                {
                    transaction.Connection.Open();
                }

                DataSet ds = ExecuteDataset((SQLiteCommand)cmd);
                return(ds);
            }
            catch (Exception e)
            {
                LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
                return(null);
            }
        }
Пример #5
0
 /// <summary>
 /// 获取文件信息 <see cref="GetFileInfo(string, out FileInfo)"/>
 /// </summary>
 /// <param name="filePath">文件路径</param>
 /// <param name="fileInfo">输出文件信息</param>
 /// <returns></returns>
 public static bool ReadFileInfo(string filePath, out FileInfo fileInfo)
 {
     try
     {
         if (File.Exists(filePath))
         {
             fileInfo = new FileInfo(filePath);
             return(true);
         }
         fileInfo = null;
         return(false);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(FunctionType.IOFile, e.Message, e);
         fileInfo = null;
         return(false);
     }
 }
Пример #6
0
 /// <summary>
 /// 分行获取文件内容 <see cref="GetFileLinesData(string, string[])"/>
 /// </summary>
 /// <param name="filePath">文件路径</param>
 /// <param name="linesData">输出内容</param>
 /// <returns></returns>
 public static bool ReadFileData(string filePath, out string[] linesData)
 {
     try
     {
         if (File.Exists(filePath))
         {
             linesData = File.ReadAllLines(filePath);
             return(true);
         }
         linesData = null;
         return(false);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(FunctionType.IOFile, e.Message, e);
         linesData = null;
         return(false);
     }
 }
Пример #7
0
 /// <summary>
 /// 一次性获取文件全部内容 <see cref="GetFileData(string)"/>
 /// </summary>
 /// <param name="filePath">文件路径</param>
 /// <param name="data"> 输出的数据 </param>
 /// <returns></returns>
 public static bool ReadFileData(string filePath, out string data)
 {
     try
     {
         if (File.Exists(filePath))
         {
             data = File.ReadAllText(filePath);
             return(true);
         }
         data = "路径文件不存在";
         return(false);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(FunctionType.IOFile, e.Message, e);
         data = null;
         return(false);
     }
 }
Пример #8
0
 /// <summary>
 /// 写入文件所有行内容 <see cref="WriteFileLinesData(string, string, bool)"/>
 /// </summary>
 /// <param name="filePath">文件路径</param>
 /// <param name="data">文件数据</param>
 /// <param name="IsOverWrited">是否覆盖原文件</param>
 /// <returns></returns>
 public static bool WriteFileData(string filePath, string[] data, bool IsOverWrited = false)
 {
     try
     {
         //覆盖原文件
         if (IsOverWrited)
         {
             File.WriteAllLines(filePath, data);
         }
         else //若是存在的 则加到后面去 否则创建新文件
         {
             File.AppendAllLines(filePath, data);
         }
         return(true);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(FunctionType.IOFile, e.Message, e);
         return(false);
     }
 }
Пример #9
0
 /// <summary>
 /// Executes the dataset from a populated Command object.
 /// </summary>
 /// <param name="cmd">Fully populated SQLiteCommand</param>
 /// <returns>DataSet</returns>
 public static DataSet ExecuteDataset(SQLiteCommand cmd)
 {
     try
     {
         if (cmd.Connection.State == ConnectionState.Closed)
         {
             cmd.Connection.Open();
         }
         DataSet           ds = new DataSet();
         SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
         da.Fill(ds);
         da.Dispose();
         cmd.Connection.Close();
         cmd.Dispose();
         return(ds);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
         return(null);
     }
 }
Пример #10
0
 /// <summary>
 /// 执行数据库语句
 /// </summary>
 /// <param name="cmd">执行语句组合</param>
 /// <returns></returns>
 public static int ExecuteNonQuery(IDbCommand cmd)
 {
     try
     {
         if (cmd != null)
         {
             if (cmd.Connection.State == ConnectionState.Closed)
             {
                 cmd.Connection.Open();
             }
             int result = cmd.ExecuteNonQuery();
             cmd.Connection.Close();
             cmd.Dispose();
             return(result);
         }
         return(-1);
     }
     catch (Exception e)
     {
         LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
         return(-1);
     }
 }
Пример #11
0
        /// <summary>
        /// 执行数据库语句
        /// </summary>
        /// <param name="cn">连接类</param>
        /// <param name="commandText">执行语句</param>
        /// <param name="paramList">参数列表</param>
        /// <returns></returns>
        public static int ExecuteNonQuery(SQLiteConnection cn, string commandText, params object[] paramList)
        {
            try
            {
                SQLiteCommand cmd = cn.CreateCommand();
                cmd.CommandText = commandText;
                AttachParameters(cmd, commandText, paramList);
                if (cn.State == ConnectionState.Closed)
                {
                    cn.Open();
                }
                int result = cmd.ExecuteNonQuery();
                cmd.Dispose();
                cn.Close();

                return(result);
            }
            catch (Exception e)
            {
                LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
                return(-1);
            }
        }
Пример #12
0
        /// <summary>
        /// 获取查询结果的第一行第一列信息
        /// </summary>
        /// <param name="connectionString">连接语句</param>
        /// <param name="commandText">执行语句</param>
        /// <param name="paramList">参数列表</param>
        /// <returns></returns>
        public static object ExecuteScalar(string connectionString, string commandText, params object[] paramList)
        {
            try
            {
                SQLiteConnection cn  = new SQLiteConnection(connectionString);
                SQLiteCommand    cmd = cn.CreateCommand();
                cmd.CommandText = commandText;
                AttachParameters(cmd, commandText, paramList);
                if (cn.State == ConnectionState.Closed)
                {
                    cn.Open();
                }
                object result = cmd.ExecuteScalar();
                cmd.Dispose();
                cn.Close();

                return(result);
            }
            catch (Exception e)
            {
                LogsHelper.WriteExLogInfo(Model.FunctionType.SQLite, e.Message, e);
                return(null);
            }
        }