/// <summary> /// 执行SQL 语句,并返回 <see cref="DataSet"/> 对象 /// </summary> /// <param name="cmd">SQL 命令</param> /// <returns></returns> public DataSet ExecuteDataSet(IDbCommand cmd) { IDataReader reader = null; DataSet result = null; try { reader = this.ExecuteReader(cmd); result = new XDataSet(); result.Load(reader, LoadOption.OverwriteChanges, null, new DataTable[] { }); } finally { if (cmd != null) { cmd.Dispose(); } if (reader != null) { reader.Dispose(); } this.InternalDispose(); } return(result); }
/// <summary> /// 执行SQL 语句,并返回 <see cref="DataSet"/> 对象 /// </summary> /// <param name="command">SQL 命令</param> /// <returns></returns> public virtual async Task <DataSet> ExecuteDataSetAsync(IDbCommand command) { IDataReader reader = null; DataSet result = null; try { reader = await this.ExecuteReaderAsync(command); result = new XDataSet(); result.Load(reader, LoadOption.OverwriteChanges, null, new DataTable[] { }); } finally { if (command != null) { command.Dispose(); } if (reader != null) { reader.Dispose(); } this.InternalDispose(); } return(result); }
/// <summary> /// 获得数据集合 /// </summary> /// <param name="sql"></param> /// <param name="msg"></param> /// <returns></returns> public static DataSet GetDataSet(string sql, out string msg) { DateTime beforDT = DateTime.Now; try { #region 数据合法性校验 if (string.IsNullOrEmpty(sql)) { msg = "Sql语句为空!"; return(null); } if (string.IsNullOrEmpty(ConnectionString)) { msg = "数据库链接串为空!"; return(null); } #endregion #region 获得数据 using (IDbConnection connection = new MySqlConnection(ConnectionString)) { msg = "数据获取成功!"; DataSet dataSet = new XDataSet(); IDataReader reader = connection.ExecuteReader(sql); dataSet.Load(reader, LoadOption.OverwriteChanges, null, new DataTable[] { }); Logger.Info("查询开始=========================================================="); Logger.Info("查询时间:" + DateTime.Now.Subtract(beforDT).TotalMilliseconds.ToString() + " 毫秒"); Logger.Info("GetDataSet()请求SQL:" + sql); Logger.Info("查询结束=========================================================="); return(dataSet); } #endregion } catch (Exception ex) { msg = ex.Message; Logger.Error("异常信息开始=========================================================="); Logger.Error("查询时间:" + DateTime.Now.Subtract(beforDT).TotalMilliseconds.ToString() + " 毫秒"); Logger.Error("GetDataSet()请求SQL:" + sql); Logger.Error("GetDataSet()异常信息:" + ex); Logger.Error("异常信息结束=========================================================="); return(null); } }
/// <summary> /// 执行SQL 语句,并返回 <see cref="DataSet"/> 对象 /// </summary> /// <param name="cmd">SQL 命令</param> /// <param name="transaction">事务</param> /// <returns></returns> public DataSet ExecuteDataSet(IDbCommand cmd) { IDataReader reader = null; IDbConnection conn = null; DataSet ds = null; try { reader = this.ExecuteReader(cmd); conn = cmd != null ? cmd.Connection : null; ds = new XDataSet(); ds.Load(reader, LoadOption.OverwriteChanges, null, new DataTable[] { }); } finally { Dispose(cmd, reader, conn); } return(ds); }