自己写的数据库操作类,其中的RunProcDataTable好像有问题,求高手指点。
public class Database : IDisposable
{
// connection to data source
private SqlConnection conn;
public Database()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 以Cmd为参数,执行存储过程,返回DataTable。
/// </summary>
/// <param name="cmd"></param>
/// <returns></returns>
public DataTable RunProcDataTable(ref SqlCommand cmd)
{
SqlDataReader dbRead;
// make sure connection is open
Open();
cmd.Connection = conn;
try
{
dbRead = cmd.ExecuteReader(CommandBehavior.CloseConnection);
//this.Close();
DataTable dt = new DataTable();
dt.Load(dbRead);
return dt;
}
catch
{
return null;
}
}
///<summary>
///Open the connection.
///</summary>
private void Open()
{
// open connection
if (conn == null)
{
string StrConn = "server=jie;database=J_Manage;uid=sa;pwd=password";
conn = new SqlConnection(StrConn);
conn.Open();
}
}
///<summary>
///Close the connection.
///</summary>
public void Close()
{
if (conn != null)
conn.Close();
}
///<summary>
///Release resources.
///</summary>
public void Dispose()
{
//make sure connection is closed
if (conn != null)
{
conn.Dispose();
conn = null;
}
}
}