작성자가 Microsoft.Practices.EnterpriseLibrary.Data library
을 사용하는 ASP.NET (C#) 응용 프로그램에서 함수를 상속했지만 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
연결 문자열입니다)
string result = String.Empty;
OracleConnection conn = new OracleConnection(connstr);
OracleCommand cmd = new OracleCommand("PKG_AUCTION_ITEMS.IsAuctionItem",conn);
myCmd.CommandType = CommandType.StoredProcedure;
using (myCmd)
{
myCmd.Parameters.AddWithValue("vItemName", itemName);
myCmd.Parameters.AddWithValue("vOpenDate", openDate);
myCmd.Parameters.AddWithValue("ret", ???);
myCmd.ExecuteNonQuery();
result = myCmd.Parameters["ret"].Value.ToString();
}
내가 AddInParameter과 AddParameter의 차이가 무엇인지 이해하지 못하는 것입니다 : 여기
내가받은 코드 이 행의 기능은 다음과 같습니다.db.AddParameter(cmdDB, "ret", DbType.String, 2, ParameterDirection.ReturnValue, false, 0, 0, null, DataRowVersion.Current, null);
오른쪽에 tr 알았지? 아무도 도와 줄 수 있습니까? 감사합니다
로 설정? 오라클을 사용하기 위해서는 설정 파일을 바꿀 수 있어야했습니다. – CAbbott
Microsoft.Practice 라이브러리는 여기에서 사용되는 표준 라이브러리가 아니므로 빌드 엔진에는 없습니다.이 때문에 프로젝트를 서버에 빌드 할 수 없습니다. – zohair
작동하려면 웹 서버에 Enterprise Library를 설치해야합니다. – Juri