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);
}
}
}
}
}