仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 827|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之公布一个操纵oracle的c#类

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
归根到底,Java跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢!oracle/***********************************************************************
*Module:OraHelper.cs
*Author:hellopj
*Purpose:DefinitionoftheClassOraHelper
***********************************************************************/usingSystem;
usingSystem.Data;
usingOracle.DataAccess.Client;
usingOracle.DataAccess.Types;
usingSystem.Collections;
usingSystem.Configuration;
namespaceOraHelper
{
publicabstractclassOraHelper
{
publicstaticreadonlystringCONN_STRING_NON_DTC=ConfigurationSettings.AppSettings["ConnStr"].Trim();
publicstaticOracleConnectionconn=newOracleConnection(CONN_STRING_NON_DTC);
publicstaticvoidOpenConnection()
{
if(conn.State!=ConnectionState.Open)
conn.Open();
}
publicstaticvoidCloseConnection()
{
if(conn.State==ConnectionState.Open)
conn.Close();
}
publicstaticDataSetgetDataSet(stringcmdText)
{

OracleDataAdapterAdapter=newOracleDataAdapter(cmdText,conn);
DataSetData=newDataSet();
Adapter.Fill(Data);
returnData;
}
publicstaticOracleDataReaderExecuteReader(stringcmdText)
{

OracleCommandcmd=newOracleCommand();
cmd.Connection=conn;
cmd.CommandText=cmdText;
OracleDataReaderrdr=cmd.ExecuteReader();
cmd.Parameters.Clear();
returnrdr;
}
publicstaticintExecuteNonQuery(stringcmdText)
{
try
{
OracleCommandcomm=newOracleCommand(cmdText,conn);
comm.ExecuteNonQuery();
return1;
}
catch
{
return0;
}
}
publicstaticvoidExecuteNonQuery(stringcmdText,OracleConnectionconn)
{
try
{
OracleCommandcomm=newOracleCommand(cmdText,conn);
comm.ExecuteNonQuery();
}
catch
{

}
}
publicstaticstringExecuteScalar(stringcmdText)
{
stringstatus="";
try
{
OracleCommandcomm=newOracleCommand(cmdText,conn);
status=comm.ExecuteScalar().ToString();
returnstatus;
}
catch(Exceptionerr)
{
//return"-1";
returnerr.Message.ToString();

}
}
privatestaticHashtableparmCache=Hashtable.Synchronized(newHashtable());
publicstaticintExecuteNonQuery(CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{
OracleCommandcmd=newOracleCommand();
cmd.Connection=conn;
cmd.Parameters.Clear();
cmd.CommandText=cmdText;
foreach(OracleParameterparmincmdParms)
cmd.Parameters.Add(parm);
intval=cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
returnval;
}
publicstaticintExecuteNonQuery(OracleTransactiontrans,CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{
OracleCommandcmd=newOracleCommand();
PrepareCommand(cmd,trans.Connection,trans,cmdType,cmdText,cmdParms);
intval=cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
returnval;
}

publicstaticOracleDataReaderExecuteReader(CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{

OracleCommandcmd=newOracleCommand();
try
{
PrepareCommand(cmd,conn,null,cmdType,cmdText,cmdParms);
OracleDataReaderrdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
returnrdr;

}
catch(Exceptione)
{
conn.Close();
throwe;
}
}


publicstaticobjectExecuteScalar(stringconnString,CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{
OracleCommandcmd=newOracleCommand();
PrepareCommand(cmd,conn,null,cmdType,cmdText,cmdParms);
objectval=cmd.ExecuteScalar();
cmd.Parameters.Clear();
returnval;
}

publicstaticobjectExecuteScalar(CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{

OracleCommandcmd=newOracleCommand();
PrepareCommand(cmd,conn,null,cmdType,cmdText,cmdParms);
objectval=cmd.ExecuteScalar();
cmd.Parameters.Clear();
returnval;
}

publicstaticintgetScalar(CommandTypecmdType,stringcmdText,paramsOracleParameter[]cmdParms)
{

OracleCommandcmd=newOracleCommand();
PrepareCommand(cmd,conn,null,cmdType,cmdText,cmdParms);
objectval=cmd.ExecuteScalar();
cmd.Parameters.Clear();
intnVal=Convert.ToInt32(val);
returnnVal;

}


publicstaticvoidCacheParameters(stringcacheKey,paramsOracleParameter[]cmdParms)
{
parmCache[cacheKey]=cmdParms;
}

publicstaticOracleParameter[]GetCachedParameters(stringcacheKey)
{
OracleParameter[]cachedParms=(OracleParameter[])parmCache[cacheKey];

if(cachedParms==null)
returnnull;


OracleParameter[]clonedParms=newOracleParameter[cachedParms.Length];

for(inti=0,j=cachedParms.Length;i<j;i++)
clonedParms[i]=(OracleParameter)((ICloneable)cachedParms[i]).Clone();
returnclonedParms;
}

privatestaticvoidPrepareCommand(OracleCommandcmd,OracleConnectionconn,OracleTransactiontrans,CommandTypecmdType,stringcmdText,OracleParameter[]cmdParms)
{

if(conn.State!=ConnectionState.Open)
conn.Open();
cmd.Connection=conn;
cmd.CommandText=cmdText;
cmd.CommandType=cmdType;
//if(trans!=null)
//cmd.Transaction=trans;
if(cmdParms!=null)
{
foreach(OracleParameterparmincmdParms)
cmd.Parameters.Add(parm);
}
}
publicstaticintGetID(stringSeqName)//失掉序列的nextval
{
OracleCommandcmd=newOracleCommand();
using(OracleConnectionconn=newOracleConnection(CONN_STRING_NON_DTC))
{
stringSqlText="select"+SeqName+".nextvalfromdual";

PrepareCommand(cmd,conn,null,CommandType.Text,SqlText,null);
intval=Convert.ToInt32(cmd.ExecuteScalar());
cmd.Parameters.Clear();
returnval;
}
}
}
}
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?
小女巫 该用户已被删除
沙发
发表于 2015-1-19 16:46:09 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
蒙在股里 该用户已被删除
板凳
发表于 2015-1-27 08:35:54 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
变相怪杰 该用户已被删除
地板
发表于 2015-2-5 05:17:07 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-11 05:57:16 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
山那边是海 该用户已被删除
6#
发表于 2015-3-1 22:52:43 | 只看该作者
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
莫相离 该用户已被删除
7#
 楼主| 发表于 2015-3-11 00:48:53 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
柔情似水 该用户已被删除
8#
发表于 2015-3-17 17:10:55 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
乐观 该用户已被删除
9#
发表于 2015-3-24 15:26:08 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表