我在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