Asp.Net 通用数据操作类 (附通用数据基类)第1/2页

属于自己的风景,从来不曾错过;不是自己的风景,永远只是路过。天地太大,人太渺小,不是每一道亮丽的风景都能拥有。一辈子,只求有一道令自己流连忘返,不离不弃的风景就已足够。人生的风景,是物也是人。陪自己到最后的,才是自己的风景。
文章内容为本站编辑,创作.你可以任意转载、发布、使用但请务必以明文标注文章原始出处及本声明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;
}
12下一页阅读全文

本文Asp.Net 通用数据操作类 (附通用数据基类)第1/2页到此结束。你必须十分努力,才能看起来毫不费力。小编再次感谢大家对我们的支持!

标签: Asp Net