using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; namespace iWareWebservice.AppDao { public class MsSqlDao { /// /// 数据库访问类 /// private static MsSqlDao dataBaseInstance = null; /// /// 创建锁定 /// private static readonly object padlock = new object(); /// /// 创建实例 /// /// 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; } /// /// 执行语句 /// /// sql语句 /// 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(); } } /// /// 查询结果集合 /// /// 查询语句 /// 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); } } } } }