我在ASP.NET(C#)应用程序中继承了一个函数,其中作者使用Microsoft.Practices.EnterpriseLibrary.Data library
,但我被要求更改它以便它使用System.Data.OracleClient
。这个函数使用一个存储过程形式的数据库。 itemName
和openDate
是函数接受的字符串参数。PKG_AUCTION_ITEMS.IsAuctionItem
是存储过程函数名称。从DbCommand对象转换为OracleCommand对象
下面是我收到的代码:
string result = String.Empty;
Database db = DatabaseFactory.CreateDatabase("OraData");
using (DbCommand cmdDB = db.GetStoredProcCommand("PKG_AUCTION_ITEMS.IsAuctionItem"))
{
db.AddInParameter(cmdDB, "vItemName", DbType.String, itemName);
db.AddInParameter(cmdDB, "vOpenDate", DbType.String, openDate);
db.AddParameter(cmdDB, "ret", DbType.String, 2, ParameterDirection.ReturnValue, false, 0, 0, null, DataRowVersion.Current, null);
db.ExecuteNonQuery(cmdDB);
result = cmdDB.Parameters["ret"].Value.ToString();
}
这里是我的代码:(connstr
是连接字符串)
我不明白AddInParameter和AddParameter之间的区别是什么,以及此行的功能:
我在右边tr ACK?任何人都可以帮忙吗? 谢谢
你为什么会被要求去改变它?你应该已经能够改变配置文件来使用Oracle。 – CAbbott 2009-09-18 20:37:11
Microsoft.Practice库不是这里使用的标准库,所以构建引擎没有它。因此,该项目无法在服务器上构建。 – zohair 2009-09-18 20:50:30
您可能必须在您的Web服务器上安装Enterprise Library才能使其工作。 – Juri 2009-09-19 16:48:50