Exemple #1
0
 public List <DynamicEntity> ExecuteList(string sql, object param = null)
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var cmd = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         using (DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
         {
             List <DynamicEntity> list = new List <DynamicEntity>();
             while (reader.Read())
             {
                 var item = new DynamicEntity();
                 for (var i = 0; i < reader.FieldCount; i++)
                 {
                     item[reader.GetName(i)] = reader[i];
                 }
                 list.Add(item);
             }
             return(list);
         }
     }
 }
Exemple #2
0
 /// <summary>
 ///  执行SQL,返回影响行数
 /// </summary>
 /// <returns></returns>
 public int ExecuteNoQuery(string sql, object param = null)
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var comm = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         return(comm.ExecuteNonQuery());
     }
 }
Exemple #3
0
 /// <summary>
 /// 返回第一行第一列的值
 /// </summary>
 /// <returns></returns>
 public T ExecuteScalar <T>(string sql, object param = null)
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var comm = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         return(comm.ExecuteScalar().To <T>());
     }
 }
Exemple #4
0
 /// <summary>
 /// 执行SQL,返回dataSet
 /// </summary>
 /// <param name="cmd"></param>
 /// <returns></returns>
 public DataSet ExecuteDataSet(string sql, object param = null)
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var comm = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         DbDataAdapter dbDataAdapter = DbProvider.NewAdapter();
         dbDataAdapter.SelectCommand = comm;
         DataSet dataset = new DataSet();
         dbDataAdapter.Fill(dataset);
         return(dataset);
     }
 }
Exemple #5
0
 /// <summary>
 /// 执行SQL,返回影响行数
 /// </summary>
 /// <param name="sql"></param>
 /// <param name="param"></param>
 /// <returns></returns>
 public int ExecuteNoQuery(string sql, IEnumerable <object> param)
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         int result = 0;
         foreach (var p in param)
         {
             var comm = CreateDbCommand(sql, p);
             result += comm.ExecuteNonQuery();
         }
         return(result);
     }
 }
Exemple #6
0
 /// <summary>
 /// 返回第一行,并转化成实体
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="cmd"></param>
 /// <returns></returns>
 public T ExecuteSingle <T>(string sql, object param = null, Action <T, DbReader> anfterAction = null) where T : class, new()
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var cmd = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         using (DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
         {
             reader.Read();
             var t = (T)GetEntity(reader, typeof(T));
             anfterAction?.Invoke(t, new DbReader(reader));
             return(t);
         }
     }
 }
Exemple #7
0
 public List <T> ExecuteList <T>(string sql, object param = null, Action <T, DbReader> anfterAction = null) where T : class, new()
 {
     using (var context = new SqlExecuteContext(conn, trans, IsStill))
     {
         var list       = new List <T>();
         var type       = typeof(T);
         var properties = type.GetProperties();
         var cmd        = CreateDbCommand(sql, param);
         if (conn.State != ConnectionState.Open)
         {
             conn.Open();
         }
         using (DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection))
         {
             while (reader.Read())
             {
                 var t = (T)GetEntity(reader, type, properties);
                 anfterAction?.Invoke(t, new DbReader(reader));
                 list.Add(t);
             }
             return(list);
         }
     }
 }