1
현재 데이터 액세스 계층 클래스 (UserDAL 클래스)와 함께 컨트롤러 클래스를 사용하여 데이터베이스를 변경합니다. 그러나 나는 매개 변수화 된 쿼리를 사용하지 않기 때문에 코드가 배제된다는 것을 알고 있습니다.OracleDataAdapter를 사용한 매개 변수화 된 쿼리
나는 명령 개체를 사용하여 쿼리를 사용하는 방법을 보았다. 그러나 나는 조금 다르게 행동하는 것 같다 OracleDataAdapter를 사용하고 있습니다. 세 문자열은 사용자가 입력 필드에서 채워
컨트롤러 코드 :
string usrName = mod.UserName;
string role = mod.Role;
string mod.actvInd;
string sql = "UPDATE LD_USER_ROLE" + " SET USERNAME='" + usrName + "', ROLE='" + role + "', ACTIVE_IND='" + actvInd + "' WHERE USER_ROLE_ID=" + id + "";
UserRoleDAL udl = new UserRoleDAL();
udl.ExecuteQuery(sql);
은 코드의 다음 섹션에서 여기에서 알 수있는 바와 같이, 파라미터 화 될 실제 값과는 다른 클래스에도
UserDAL 클래스 :
public class UserRoleDAL
{
private OracleConnection conn;
public UserRoleDAL()
{
string oradb = ConfigurationManager.ConnectionStrings["db_dbConnectionString"].ConnectionString;
conn = new OracleConnection(oradb);
}
public void ExecuteQuery(string sql)
{
conn.Open();
OracleDataAdapter adapter = new OracleDataAdapter(sql, conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
conn.Close();
}
}
어떻게이 작업을 수행하기 위해 UserRoleDAL 객체로 필드를 통과 나는 OracleDataAdapter 개체 paramterized 쿼리를 사용하고 난 심지어 위의 클래스를 병합하거나해야 할 것입니까?
[OracleDataAdapter (http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter (V = 대 .100) .aspx)는 이제 쓸모가 없습니다. 왜 아직도 사용하고 있습니까? – Habib
@habib 대신 무엇을 사용해야합니까? ODP.Net – Sperick
을 사용하여 Oracle 데이터베이스에 연결 중입니다. OracleCommand를 매개 변수와 함께 사용하고 OracleDataAdapter와 함께 사용할 수 있습니다. OracleDataAdapter의 대체에 대해 잘 모르겠습니다. – Habib