ADO.NET 对数据操作 以及如何通过C# 事务批量导入数据

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
public static class SQLHelper
    {
        static string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();
        /// <summary>
        /// 执行增删改
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int Update(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 执行单一结果查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static object GetSingleResult(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                return cmd.ExecuteScalar();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
 
        /// <summary>
        /// 执行一个结果集查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static SqlDataReader GetReader(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                conn.Close();
                throw new Exception(ex.Message);
            }
        }
 
        /// <summary>
        /// 执行返回数据集的查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static SqlDataAdapter GetDataSet(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            //创建适配器对象
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
 
            try
            {
                conn.Open();
                da.Fill(ds);//使用数据适配器填充数据集
                return da;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/// <summary>
/// 启用事务执行多条sql语句
/// </summary>
/// <param name="sqlList">插入的sql语句</param>
/// <returns></returns>
public static bool UpdateByTran(List<string> sqlList)
{
    SqlConnection conn = new SqlConnection(connString);
    SqlCommand cmd = new SqlCommand();
    cmd.Connection=conn;
    try
    {
        conn.Open();
        cmd.Transaction = conn.BeginTransaction();
        foreach (string itemSql in sqlList)
        {
            cmd.CommandText = itemSql;
            cmd.ExecuteNonQuery();
        }
        cmd.Transaction.Commit();
        return true;
    }
    catch (Exception ex)
    {
        if (cmd.Transaction != null)
        {
            cmd.Transaction.Rollback();
        }
        throw new Exception("调用事务出错" + ex.Message);
    }
    finally {
        if (cmd.Transaction!=null)
        {
            cmd.Transaction = null;
        }
        conn.Close();
    }
}

  

对数据库操作的常用方法  

最新文章

  1. Design Tic-Tac Toe
  2. Beaglebone Black从零开始系列教程大汇总!
  3. 设置sublime text2/3中默认预览浏览器快捷键的方法
  4. Java for LeetCode 054 Spiral Matrix
  5. [ZZ] The Naked Truth About Anisotropic Filtering
  6. 练习PYTHON协程之GREENLET
  7. Android开发记录(转)
  8. Hibernate中HQL的日期差值计算,可计算相差多少秒
  9. interbase C++Builder 简单例子
  10. Erasure Coding in WAS简单译文
  11. 【安卓手机通用】android adb shell 命令大全
  12. Linux误删C基本运行库libc.so.6处理方法
  13. 【特效】jquery选项卡插件,页面多个选项卡统一调用
  14. 关于python当中的@修饰符的浅析
  15. Spring Cloud Vault介绍
  16. eclipse开发Java web工程时,jsp第一行报错,如何解决?
  17. log4net.Layout.PatternLayout 用 conversion 模式格式化日志事件【翻译】
  18. MySQL主从复制(Replication)(MySQL数据同步)配置
  19. Maven入门使用(一)
  20. c++学习笔记(4)

热门文章

  1. CodeForces:699B-One Bomb
  2. Java列出接口实现的所有接口
  3. python基础-异常和模块
  4. 九度oj 题目1130:日志排序
  5. DataTable排序
  6. shell的until循环
  7. Oracle 数据库有五个必需的后台进程,DBWR,LGWR,CKPT,SMON,PMON
  8. 常州模拟赛d4t2 陶陶摘苹果
  9. uva 11991 查询中容器的运用
  10. poj 2115 二元一次不定方程