using system; using system.collections.generic; using system.text; using system.data; using system.data.sqlclient; using system.configuration; namespace xxd.hzd.dbconn { public class dbconn { private sqlconnection scn = null; private strin
using system;
using system.collections.generic;
using system.text;
using system.data;
using system.data.sqlclient;
using system.configuration;
namespace xxd.hzd.dbconn
{
public class dbconn
{
private sqlconnection scn = null;
private string connectionstring = ;
public dbconn()
{
connectionstring = configurationmanager.appsettings[connectionstring].tostring(); //从web.config中读取数据库连接字符串
scn = new sqlconnection();
scn.connectionstring = connectionstring;
}
///
/// 数据库打开
///
private void dbopen()
{
if ( scn == null)
{
scn = new sqlconnection();
scn.connectionstring = connectionstring;
}
if ( scn.state == connectionstate.closed)
{
scn.open();
}
else if (scn.state == connectionstate.broken)
{
scn.close();
scn.open();
}
}
///
/// 数据库释放
///
public void dbclose()
{
if ( scn != null)
{
scn.close();
scn.dispose();
scn = null;
}
}
///
/// 返回dataset
///
/// sql语句
/// 数据集
public dataset getdataset(string strselect)
{
dataset ds = new dataset();
sqldataadapter sda = new sqldataadapter();
dbopen();
using ( sda = new sqldataadapter())
{
sda.selectcommand = new sqlcommand();
sda.selectcommand.connection = scn;
sda.selectcommand.commandtype = commandtype.text;
sda.selectcommand.commandtext = strselect;
sda.selectcommand.executenonquery();
sda.fill(ds);
}
dbclose();
return ds;
}
///
/// 存储过程返回记录集
///
/// 存储过程名称
/// 参数
/// 符合条件的记录集
public dataset getdataset(string procname, sqlparameter[] sqlparameter)
{
dataset ds = new dataset();
dbopen();
sqlcommand cm = getcommand(procname, sqlparameter);
sqldataadapter sda = new sqldataadapter(cm);
sda.fill(ds);
dbclose();
return ds;
}
public void getdataset(string procname, sqlparameter[] sqlparameter, out dataset ds)
{
ds = new dataset();
dbopen();
sqlcommand cm = getcommand(procname, sqlparameter);
sqldataadapter sda = new sqldataadapter(cm);
sda.fill(ds);
dbclose();
}
///
/// 删除一条信息
///
/// sql语句
/// 删除条数
public int delitem(string strdelete)
{
int i = 0 ;
dbopen();
using ( sqlcommand cm = new sqlcommand())
{
cm.connection = scn;
cm.commandtype = commandtype.text;
cm.commandtext = strdelete;
try
{
i = cm.executenonquery();
}
catch (sqlexception ex)
{
throw;
}
}
return i;
}
///
/// 取得第一行第一个单元格的值
///
/// sql语句
/// 返回记录
public string getscalar(string strselect)
{
dbopen();
sqlcommand cm = new sqlcommand();
cm.connection = scn;
cm.commandtype = commandtype.text;
cm.commandtext = strselect;
string gradename = cm.executescalar().tostring();
dbclose();
return gradename;
}
///
/// 调用存储过程
///
/// 存储过程名
/// 存储过程参数
public int executrproc(string procedurename, sqlparameter[] sqlparameter)
{
sqlcommand cm = null;
int returnvalue = 0;
dbopen();
using (cm = new sqlcommand())
{
cm.connection = scn;
cm.commandtype = commandtype.storedprocedure;
cm.commandtext = procedurename;
foreach (sqlparameter sqlpara in sqlparameter)
{
cm.parameters.add(sqlpara);
}
cm.executenonquery();
returnvalue = convert.toint32(cm.parameters[8].value);
}
dbclose();
return returnvalue;
}
///
/// 存储过程有返回值
///
/// 存储过程名称
/// 存储过程参数
/// 存储过程返回值
public string returnproc(string procname, sqlparameter[] sqlparameter)
{
dbopen();
sqlcommand cm = getcommand(procname, sqlparameter);
cm.executenonquery();
dbclose();
return cm.parameters[sqlparameter.length-1].value.tostring();
}
///
/// 返回一个command
///
/// 存储过程名称
/// 存储过程参数
/// command对象
private sqlcommand getcommand ( string procname, sqlparameter[] sqlparameter)
{
sqlcommand cm = new sqlcommand();
cm.connection = scn;
cm.commandtype = commandtype.storedprocedure;
cm.commandtext = procname;
foreach(sqlparameter sp in sqlparameter)
{
cm.parameters.add(sp);
}
return cm;
}
public sqldatareader getreader(string procname, sqlparameter[] sqlparameter)
{
dbopen();
sqlcommand cm = getcommand(procname, sqlparameter);
return cm.executereader();
}
///
/// 执行删除,更新语句
///
/// 存储过程名称
/// 存储过程参数
public void execucommand( string procname, sqlparameter[] sqlparameter)
{
dbopen();
sqlcommand cm = getcommand(procname, sqlparameter);
cm.executenonquery();
dbclose();
}
}
}