예제 #1
0
 /// <summary>
 /// 执行数据库
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="query"></param>
 /// <param name="callback"></param>
 /// <param name="arg"></param>
 /// <param name="nullable"></param>
 /// <returns></returns>
 public void Execute <T>(string query, EffectRowCallback callback, T arg, bool nullable = true) where T : struct
 {
     using (var tr = BeginTransation())
     {
         using (var cmd = CreateCommand(query, arg, tr, nullable))
         {
             var result = cmd.ExecuteNonQuery();
             try
             {
                 if (callback != null && !callback(result))
                 {
                     tr.Rollback();
                 }
                 else
                 {
                     tr.Commit();
                 }
             }
             catch
             {
                 tr.Rollback();
             }
         }
     }
 }
예제 #2
0
 /// <summary>
 /// 执行数据库
 /// </summary>
 /// <param name="query"></param>
 /// <param name="callback"></param>
 /// <param name="args"></param>
 /// <returns></returns>
 public void Execute(string query, EffectRowCallback callback, params object[] args)
 {
     using (var tr = BeginTransation())
     {
         using (var cmd = CreateCommand(query, tr, args))
         {
             var result = cmd.ExecuteNonQuery();
             try
             {
                 if (callback != null && !callback(result))
                 {
                     tr.Rollback();
                 }
                 else
                 {
                     tr.Commit();
                 }
             }
             catch
             {
                 tr.Rollback();
             }
         }
     }
 }