나는 계층화 된 접근 방식으로 내 응용 프로그램을 설계했습니다. 각 인터페이스와 공통 데이터 액세스 레이어에 대한 BusinessOP 레이어가 있습니다. 내 데이터 액세스 계층에서이 같은 데이터 판독기 메서드가 있습니다.메서드 매개 변수화
public SqlDataReader executeQuerys(string query01)
{
SqlConnection con = null;
SqlCommand com = null;
try
{
con = new SqlConnection(DBConnect.makeConnection());
con.Open();
com = new SqlCommand(query01, con);
return com.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
com.Dispose();
con.Close();
throw;
}
이것은 내 DBConnection 계층의 코드입니다.
public static string makeConnection()
{
string con = ConfigurationManager.ConnectionStrings["MyDB.Properties.Settings.ConString"].ToString();
return con;
}
내 비즈니스 계층에는 특정 저장 프로 시저를 호출하는 메소드가 있습니다. 내 사업 실시 층 안전하지 않은이므로
public SqlDataReader getLGDivID(string divName)
{
string query = "EXEC getLGDivID'" + divName + "'";
return new DataAccessLayer().executeQuerys(query);
}
, 나는 내가 매개 변수를 전달하는 문자열 연결을 사용하고 여기에 매개 변수가있는 쿼리와 함께 그것을 갖고 싶어. 아무도 그것을 수정하는 방법을 나에게 암시 할 수 있습니까?
당신은 당신의 기능을 조금 변경할 수 있습니다
사이드 참고 : 당신이해야 항상'.Dispose'뿐만 아니라 당신이 예외를 잡을 때. – Silvermind