2
schangxiang@126.com
2024-08-16 b47c50a2a514def7374b32d7194b2c599cba5625
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
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
 
namespace iWareWebservice.AppDao
{
    public class MsSqlDao
    {
        /// <summary>
        /// 数据库访问类
        /// </summary>
        private static MsSqlDao dataBaseInstance = null;
 
        /// <summary>
        /// 创建锁定
        /// </summary>
        private static readonly object padlock = new object();
 
        /// <summary>
        /// 创建实例
        /// </summary>
        /// <returns></returns>
        public static MsSqlDao CreateInstance(String connectStr)
        {
            if (dataBaseInstance == null)
            {
                lock (padlock)
                {
                    if (dataBaseInstance == null)
                    {
                        dataBaseInstance = new MsSqlDao(connectStr);
                    }
                }
            }
            return dataBaseInstance;
        }
 
        private string connString;
 
        public MsSqlDao(String connectedString)
        {
            connString = connectedString;
        }
 
        /// <summary>
        /// 执行语句
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns></returns>
        public int ExecuteSql(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            try
            {
                conn.Open();
                cmd.CommandTimeout = 0;
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                //将异常信息写入日志
                string errorInfo = "调用ExecuteSql(" + sql + ")发生错误:" + ex.Message;
                throw new Exception(errorInfo);
            }
            finally
            {
                conn.Close();
            }
        }
 
        /// <summary>
        /// 查询结果集合
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns></returns>
        public DataTable GetDataTable(string sql)
        {
            using (SqlConnection conn = new SqlConnection(connString))
            {
                conn.Open();
                try
                {
                    using (SqlCommand com = conn.CreateCommand())
                    {
                        com.CommandTimeout = 0;
                        com.CommandText = sql;
                        using (SqlDataAdapter ada = new SqlDataAdapter(com))
                        {
                            DataSet ds = new DataSet();
                            ada.Fill(ds);
                            return ds.Tables[0];
                        }
                    }
                }
                catch (Exception ex)
                {
                    //将异常信息写入日志
                    string errorInfo = "调用GetDataTable(" + sql + ")发生错误:" + ex.Message;
                    throw new Exception(ex.Message);
                }
            }
        }
    }
}