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