Oracle数据访问层Word下载.docx

上传人:b****6 文档编号:8327256 上传时间:2023-05-11 格式:DOCX 页数:20 大小:17.89KB
下载 相关 举报
Oracle数据访问层Word下载.docx_第1页
第1页 / 共20页
Oracle数据访问层Word下载.docx_第2页
第2页 / 共20页
Oracle数据访问层Word下载.docx_第3页
第3页 / 共20页
Oracle数据访问层Word下载.docx_第4页
第4页 / 共20页
Oracle数据访问层Word下载.docx_第5页
第5页 / 共20页
Oracle数据访问层Word下载.docx_第6页
第6页 / 共20页
Oracle数据访问层Word下载.docx_第7页
第7页 / 共20页
Oracle数据访问层Word下载.docx_第8页
第8页 / 共20页
Oracle数据访问层Word下载.docx_第9页
第9页 / 共20页
Oracle数据访问层Word下载.docx_第10页
第10页 / 共20页
Oracle数据访问层Word下载.docx_第11页
第11页 / 共20页
Oracle数据访问层Word下载.docx_第12页
第12页 / 共20页
Oracle数据访问层Word下载.docx_第13页
第13页 / 共20页
Oracle数据访问层Word下载.docx_第14页
第14页 / 共20页
Oracle数据访问层Word下载.docx_第15页
第15页 / 共20页
Oracle数据访问层Word下载.docx_第16页
第16页 / 共20页
Oracle数据访问层Word下载.docx_第17页
第17页 / 共20页
Oracle数据访问层Word下载.docx_第18页
第18页 / 共20页
Oracle数据访问层Word下载.docx_第19页
第19页 / 共20页
Oracle数据访问层Word下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle数据访问层Word下载.docx

《Oracle数据访问层Word下载.docx》由会员分享,可在线阅读,更多相关《Oracle数据访问层Word下载.docx(20页珍藏版)》请在冰点文库上搜索。

Oracle数据访问层Word下载.docx

publicabstractclassOracleHelper

{

//数据库连接字符串(web.config来配置),可以动态更改SQLString支持多数据库.

//publicstaticstringconnectionString=ConfigurationManager.AppSettings["

Oracle"

];

publicstaticstringconnectionString="

DataSource=orcl;

PersistSecurityInfo=True;

UserID=romapp;

Unicode=True;

pwd=romapp"

;

publicOracleHelper(){}

#region公用方法

publicstaticintGetNextID(stringFieldName,stringTableName)

stringstrsql="

select"

+FieldName+"

.nextvalfrom"

+TableName;

objectobj=GetSingle(strsql);

if(obj==null)

return1;

}

else

returnint.Parse(obj.ToString());

publicstaticintGetNextID(stringstrID,stringstrTableName,stringstrWhere)

selectmax("

+strID+"

)+1from"

+strTableName;

if(strWhere!

="

"

strsql=strsql+"

Where"

+strWhere;

publicstaticintGetMaxID(stringFieldName,stringTableName)

)+1from"

publicstaticboolExists(stringstrSql)

objectobj=GetSingle(strSql);

intcmdresult;

if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value)))

cmdresult=0;

cmdresult=int.Parse(obj.ToString());

if(cmdresult==0)

returnfalse;

returntrue;

publicstaticboolExists(stringstrSql,paramsOracleParameter[]cmdParms)

objectobj=GetSingle(strSql,cmdParms);

#endregion

#region执行简单SQL语句

///<

summary>

///执行SQL语句,返回影响的记录数

/summary>

paramname="

SQLString"

>

SQL语句<

/param>

returns>

影响的记录数<

/returns>

publicstaticintExecuteSql(stringSQLString)

using(OracleConnectionconnection=newOracleConnection(connectionString))

using(OracleCommandcmd=newOracleCommand(SQLString,connection))

try

connection.Open();

introws=cmd.ExecuteNonQuery();

returnrows;

catch(System.Data.OracleClient.OracleExceptionE)

connection.Close();

return0;

//thrownewException(E.Message);

///执行多条SQL语句,实现数据库事务。

SQLStringList"

多条SQL语句<

publicstaticvoidExecuteSqlTran(ArrayListSQLStringList)

using(OracleConnectionconn=newOracleConnection(connectionString))

conn.Open();

OracleCommandcmd=newOracleCommand();

cmd.Connection=conn;

OracleTransactiontx=conn.BeginTransaction();

cmd.Transaction=tx;

for(intn=0;

n<

SQLStringList.Count;

n++)

stringstrsql=SQLStringList[n].ToString();

if(strsql.Trim().Length>

1)

cmd.CommandText=strsql;

cmd.ExecuteNonQuery();

tx.Commit();

tx.Rollback();

thrownewException(E.Message);

///执行带一个存储过程参数的的SQL语句。

content"

参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加<

publicstaticintExecuteSql(stringSQLString,stringcontent)

OracleCommandcmd=newOracleCommand(SQLString,connection);

System.Data.OracleClient.OracleParametermyParameter=newSystem.Data.OracleClient.OracleParameter("

@content"

OracleType.NVarChar);

myParameter.Value=content;

cmd.Parameters.Add(myParameter);

finally

cmd.Dispose();

///向数据库里插入图像格式的字段(和上面情况类似的另一种实例)

strSQL"

fs"

图像字节,数据库的字段类型为image的情况<

publicstaticintExecuteSqlInsertImg(stringstrSQL,byte[]fs)

OracleCommandcmd=newOracleCommand(strSQL,connection);

@fs"

OracleType.LongRaw);

myParameter.Value=fs;

///执行一条计算查询结果语句,返回查询结果(object)。

计算查询结果语句<

查询结果(object)<

publicstaticobjectGetSingle(stringSQLString)

objectobj=cmd.ExecuteScalar();

returnnull;

returnobj;

catch(System.Data.OracleClient.OracleExceptione)

thrownewException(e.Message);

///执行查询语句,返回OracleDataReader(注意:

调用该方法后,一定要对SqlDataReader进行Close)

查询语句<

OracleDataReader<

publicstaticOracleDataReaderExecuteReader(stringstrSQL)

OracleConnectionconnection=newOracleConnection(connectionString);

OracleDataReadermyReader=cmd.ExecuteReader(CommandBehavior.CloseConnection);

returnmyReader;

///执行查询语句,返回DataSet

DataSet<

publicstaticDataSetQuery(stringSQLString)

DataSetds=newDataSet();

OracleDataAdaptercommand=newOracleDataAdapter(SQLString,connection);

command.Fill(ds,"

ds"

);

catch(System.Data.OracleClient.OracleExceptionex)

thrownewException(ex.Message);

finally

returnds;

#region执行带参数的SQL语句

publicstaticintExecuteSql(stringSQLString,paramsOracleParameter[]cmdParms)

using(OracleCommandcmd=newOracleCommand())

PrepareCommand(cmd,connection,null,SQLString,cmdParms);

cmd.Parameters.Clear();

SQL语句的哈希表(key为sql语句,value是该语句的OracleParameter[])<

publicstaticvoidExecuteSqlTran(HashtableSQLStringList)

using(OracleTransactiontrans=conn.BeginTransaction())

//循环

foreach(DictionaryEntrymyDEinSQLStringList)

stringcmdText=myDE.Key.ToString();

OracleParameter[]cmdParms=(OracleParameter[])myDE.Value;

PrepareCommand(cmd,conn,trans,cmdText,cmdParms);

intval=cmd.ExecuteNonQuery();

trans.Commit();

catch

trans.Rollback();

throw;

publicstaticobjectGetSingle(stringSQLString,paramsOracleParameter[]cmdParms)

publicstaticOracleDataReaderExecuteReader(stringSQLString,paramsOracleParameter[]cmdParms)

OracleDa

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2