using System;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace web.base_class
{
/// <summary>
/// db_class 的摘要说明。注意用到executereader后一定要调用析构函数
/// </summary>
public class db_class
{
private SqlConnection conn=new SqlConnection();
/// <summary>
/// 私有成员
/// </summary>
private string _sql;
/// <summary>
/// 属性:数据库查询语句
/// </summary>
private string _er;
public string er
{
get{return _er;}
}
public string sql
{
get{return _sql;}
set{_sql=value;}
}
/// <summary>
/// 构造函数
/// </summary>
public db_class()
{
//
// TODO: 在此处添加构造函数逻辑
//
conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();
}
~ db_class()//析构函数
{
if (conn.State==ConnectionState.Open)
conn.Close();
}
/// <summary>
/// 打开数据库连接
/// </summary>
public void db_open()
{
if (conn.State==ConnectionState.Closed)
{
conn.ConnectionString=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();
conn.Open();
}
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public void db_close()
{
if (conn.State==ConnectionState.Open){
conn.Close();
conn.Dispose();
}
}
/// <summary>
/// 执行非返回型查询语句
/// </summary>
/// <returns></returns>
public bool executesql()
{
SqlCommand cmd=new SqlCommand(_sql,conn);
this.db_open();
try
{
cmd.ExecuteNonQuery();
this.db_close();
return true;
}
catch
{
this.db_close();
return false;
}
}
/// <summary>
/// 执行返回datareader的数据库查询
/// </summary>
/// <returns></returns>
public SqlDataReader executereader()
{
SqlCommand cmd=new SqlCommand(_sql,conn);
this.db_open();
SqlDataReader dr;
try
{
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);//参数表示关闭datagrid对象就会关闭connection对象
if (dr.HasRows==true)
{
return dr;
}
else
{
_er="数据为空";
return null;
}
}
catch
{
_er="语句错误";
return null;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public DataView executedv()
{
System.Data.SqlClient.SqlDataAdapter da=new SqlDataAdapter(_sql,conn);
DataSet ds=new DataSet();
this.db_open();
try
{
da.Fill(ds,"tb");
DataView dv=new DataView(ds.Tables["tb"]);
if (dv.Count>0)
{
this.db_close();
return dv;
}
else
{
this.db_close();
_er="数据出错";
return null;
}
}
catch
{
_er="数据出错";
return null;
}
finally
{
this.db_close();
}
}
public string sql2str(string def)
{
string rr="";
SqlCommand cmd=new SqlCommand(_sql,conn);
this.db_open();
SqlDataReader dr;
try
{
dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
if(dr.HasRows)
{
dr.Read();
rr=dr[0].ToString();
dr.Close();
this.db_close();
}
}
catch
{
rr="";
}
if(rr=="")
rr=def;
return rr;
}
/// 执行返回BOOL的存储过程
public bool exepro()
{
this.db_open();
SqlCommand cmd=new SqlCommand(_sql,conn);
cmd.CommandType=CommandType.StoredProcedure;
try
{
cmd.ExecuteNonQuery();
this.db_close();
return true;
}
catch
{
this.db_close();
return false;
}
}
}
}