Asp.Net 通用数据操作类 (附通用数据基类)第1/2页
Asp.Net 通用数据操作类 (附通用数据基类)第1/2页
发布时间:2016-12-29 来源:查字典编辑
摘要:文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明http://www.opent.cn作者:浪淘沙...

文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明http://www.opent.cn作者:浪淘沙

此贴的方法会持续更新,此文件要引用与数据操作的基类

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

namespaceEC

{

///<summary>

///EB通用与数据交互操作基类

///</summary>

publicclassEBCommonObj:IDisposable

{

privatebool_alreadyDispose=false;

privateDBOperatedbo;

privatestringsql=null;

privateSystem.Data.DataSetds;

#region构造与析构函数

publicEBCommonObj()

{

dbo=newDBOperate();

}

~EBCommonObj()

{

dbo.Dispose();

Dispose();

}

protectedvirtualvoidDispose(boolisDisposing)

{

if(_alreadyDispose)return;

if(isDisposing)

{

dbo.Dispose();

}

_alreadyDispose=true;

}

#endregion

#regionIDisposable成员

publicvoidDispose()

{

Dispose(true);

GC.SuppressFinalize(this);

}

#endregion

#region通用删除数据库中的某条记录

///<summary>

///通用删除数据库中的某条记录

///</summary>

///<paramname="tbl">数据表名</param>

///<paramname="fld">字段名</param>

///<paramname="IsInt">是否是int型</param>

///<paramname="kev">关键词值</param>

publicvoidCommDelByID(stringtbl,stringfld,boolIsInt,stringkey)

{

sql="deletefrom{0}where{1}=";

if(IsInt)

{

sql+="{3}";

}

else

{

sql+="'{3}'";

}

dbo.ExecuteNonQuery(string.Format(sql,tbl,fld,IsInt,key));

}

#endregion

#region通用读取数据库中的某条记录

///<summary>

///通用读取数据库中的某条记录

///</summary>

///<paramname="tbl"></param>

///<paramname="fld"></param>

///<paramname="IsInt"></param>

///<paramname="key"></param>

///<returns></returns>

publicDataSetCommReadByID(stringtbl,stringfld,boolIsInt,stringkey)

{

sql="select*from{0}where{1}=";

if(IsInt)

{

sql+="{3}";

}

else

{

sql+="'{3}'";

}

ds=dbo.GetDataSet(string.Format(sql,tbl,fld,IsInt,key));

returnds;

}

#endregion

#region修改数据库中的某条记录为true或flase

///<summary>

///修改数据库中的某条记录为true或flase

///</summary>

///<paramname="tbl">表格式</param>

///<paramname="fld">主键标识</param>

///<paramname="Isint">是否整形</param>

///<paramname="key">主键</param>

///<paramname="flgfld">flase键</param>

///<paramname="flgkey">key值</param>

publicvoidCommUpdateByID(stringtbl,stringfld,boolIsint,stringkey,stringflgfld,intflgkey)

{

sql="update{0}set{4}={5}where{1}=";

if(Isint)

{

sql+="{3}";

}

else

{

sql+="'{3}'";

}

dbo.ExecuteNonQuery(string.Format(sql,tbl,fld,Isint,key,flgfld,flgkey));

}

#endregion

#region绑定DropDown列表

///<summary>

///绑定DropDown列表

///</summary>

///<paramname="tbl">表名</param>

///<paramname="selValue">下拉框值</param>

///<paramname="selText">下拉框显示内容</param>

///<paramname="strWhere">where条件语句不用加where没有条件则为空</param>

///<paramname="dr">DropDownList控件名称</param>

publicvoidDropBind(stringtbl,stringselValue,stringselText,stringstrWhere,System.Web.UI.WebControls.DropDownListdr)

{

ds=GetDrop(tbl,selValue,selText,strWhere);

dr.DataSource=ds;

dr.DataTextField=selText;

dr.DataValueField=selValue;

dr.DataBind();

ds.Clear();

ds.Dispose();

}

///<summary>

///读取表中数据

///</summary>

///<paramname="tbl"></param>

///<paramname="selValue"></param>

///<paramname="selText"></param>

///<paramname="strWhere">条件</param>

///<returns></returns>

publicDataSetGetDrop(stringtbl,stringselValue,stringselText,stringstrWhere)

{

sql="select{1},{2}from{0}where1=1and{3}";

ds=dbo.GetDataSet(string.Format(sql,tbl,selValue,selText,strWhere));

returnds;

}

#endregion

#region判断是否有数据

///<summary>

///判断是否有数据:存在数据时返回true,否则返回Flash

///</summary>

///<paramname="tbl">数据表名</param>

///<paramname="fld">字段名</param>

///<paramname="key">关键词</param>

///<paramname="IsKeyInt">是否是数字类型:是:true;否:false</param>

///<returns>true或false</returns>

publicboolIsHaveDate(stringtbl,stringfld,stringkey,boolIsKeyInt)

{

boolRev=false;

if(IsKeyInt)

{

sql="select*from{0}where{1}={2}";

}

else

{

sql="select*from{0}where{1}='{2}'";

}

ds=dbo.GetDataSet(string.Format(sql,tbl,fld,key));

if(ds.Tables[0].Rows.Count>0)

{

Rev=true;

}

returnRev;

}

#endregion

}

}

/############################################

版权声明:

文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必标明文章原始出处及本声明

http://www.opent.cn作者:浪淘沙

############################################/

/**********************************************************************************

*

*功能说明:数据操作基类,可以执行内联SQL语句和存储过程

*作者:刘功勋;

*版本:V0.1(C#2.0);时间:2006-4-28

*

********************************************************************************/

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

namespaceEC

{

///<summary>

///数据库连接及操作对象类

///</summary>

publicclassDBBase

{

privatebool_alreadyDispose=false;

privateSystem.Data.SqlClient.SqlConnectionconn;

privateSystem.Data.SqlClient.SqlCommandcom;

#region构造与柝构

publicDBBase()

{

try

{

conn=newSystem.Data.SqlClient.SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);

conn.Open();

com=newSystem.Data.SqlClient.SqlCommand();

com.Connection=conn;

}

catch(Exceptionee)

{

thrownewException("连接数据库出错");

}

}

~DBBase()

{

Dispose();

}

protectedvirtualvoidDispose(boolisDisposing)

{

if(_alreadyDispose)return;

if(isDisposing)

{

//TODO:此处释放受控资源

if(com!=null)

{

com.Cancel();

com.Dispose();

}

if(conn!=null)

{

try

{

conn.Close();

conn.Dispose();

}

catch(Exceptionee)

{

}

finally

{

conn=null;

}

}

}

//TODO:此处释放非受控资源。设置被处理过标记

_alreadyDispose=true;

}

#endregion

#regionIDisposable成员

publicvoidDispose()

{

Dispose(true);

GC.SuppressFinalize(this);

}

#endregion

#region数据基本操作

///<summary>

///ExecuteNonQuery

///</summary>

///<paramname="sqlString">SQL语句</param>

///<returns>返回影响行数</returns>

publicintExecuteNonQuery(stringsqlString)

{

intret=0;

com.CommandText=sqlString;

com.CommandType=CommandType.Text;

try

{

ret=com.ExecuteNonQuery();

}

catch(Exceptionee)

{

thrownewException("SQL:"+sqlString+"<br/>"+ee.Message.ToString());

}

finally

{

com.Cancel();

}

returnret;

}

///<summary>

///执行插入语句返回IDENTITY

///</summary>

///<paramname="sqlString">SQL语句</param>

///<returns>@@IDENTITY</returns>

publicintExecInsert(stringsqlString)

{

intidentity=0;

//仅能执行Insertinto语句

if(!sqlString.ToLower().Contains("insertinto"))

{

return-1;

}

sqlString+="Select@@IDENTITY";

System.Data.DataSetds=newDataSet();

try

{

System.Data.SqlClient.SqlDataAdapterda=newSystem.Data.SqlClient.SqlDataAdapter(sqlString,conn);

da.Fill(ds);

da.Dispose();

}

catch(Exceptionee)

{

thrownewException("SQL:"+sqlString+"<br/>"+ee.Message.ToString());

}

if(ds.Tables[0].Rows.Count>0)

{

identity=Convert.ToInt32(ds.Tables[0].Rows[0][0]);

}

ds.Clear();

ds.Dispose();

returnidentity;

}

///<summary>

///执行SQL语句返回记录集

///</summary>

///<paramname="sqlString">SQL语句</param>

///<returns>DataSet</returns>

publicDataSetGetDataSet(stringsqlString)

{

System.Data.DataSetds=newDataSet();

try

{

System.Data.SqlClient.SqlDataAdapterda=newSystem.Data.SqlClient.SqlDataAdapter(sqlString,conn);

da.Fill(ds);

da.Dispose();

}

catch(Exceptionee)

{

thrownewException("SQL:"+sqlString+"<br/>"+ee.Message.ToString());

}

returnds;

}

///<summary>

///执行存储过程(返回N种参数)

///</summary>

///<paramname="procName">过程名</param>

///<paramname="hashtable">传入的参数表</param>

///<paramname="hashtable1">传出的参数表</param>

///<returns>返回参数表</returns>

publicSystem.Collections.HashtableExecProcedure(stringprocName,System.Collections.Hashtablehashtable,System.Collections.Hashtablehashtable1)

{

System.Collections.Hashtablehashtable2=newSystem.Collections.Hashtable();

System.Collections.IDictionaryEnumeratoride=hashtable.GetEnumerator();

System.Collections.IDictionaryEnumeratoride1=hashtable1.GetEnumerator();

com.CommandType=CommandType.StoredProcedure;

com.CommandText=procName;

while(ide.MoveNext())

{

System.Data.SqlClient.SqlParameterp=newSystem.Data.SqlClient.SqlParameter(ide.Key.ToString(),ide.Value);

com.Parameters.Add(p);

}

while(ide1.MoveNext())

{

System.Data.SqlClient.SqlParameterp=newSystem.Data.SqlClient.SqlParameter(ide1.Key.ToString(),ide.Value);

com.Parameters.Add(p);

}

try

{

com.ExecuteNonQuery();

ide1=hashtable1.GetEnumerator();

while(ide1.MoveNext())

{

stringk=ide1.Key.ToString();

hashtable2.Add(k,com.Parameters[k].Value);

}

}

catch(Exceptionee)

{

thrownewException(ee.Message.ToString());

}

finally

{

com.Cancel();

}

returnhashtable2;

}

当前1/2页12下一页阅读全文

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类