Я разработал свое приложение в многоуровневом подходе. У меня есть уровень 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);
}
Поскольку моя работа бизнеса слой небезопасен, я хочу иметь его с параметризованным запросом здесь я использую конкатенацию для передачи параметров. Может ли кто-нибудь намекнуть мне, как его изменить?
Side Примечание: Вы всегда должны '.Dispose', не только тогда, когда вы ловите исключение. – Silvermind