(счет может быть мультивалютным – в этом случае валюты перечисляются через запятую)
public class Account
{
public void OpenAccount()
{
var dbManager = new DbManager();
dbManager.BeginTransaction();
string currencies = GetCurrencies ();
if (string.IsNullOrEmpty(currencies))
return;
dbManager.ExecuteSql("EXEC dbo.OpenAccount " + currencies);
dbManager.CommitTransaction();
}
private string GetCurrencies()
{
string str;
str = Console.ReadLine();
return str;
}
}
В данном примере dbManager – объект, осуществляющий взаимодействие с базой данных.
Оцените данный код: его преимущества и недостатки. Каким образом необходимо переписать указанный код? Можете немного подсказать
sql injection читай
и там самая главная ошибка. строка, как параметр хранимой процедуры должна быть обернута в одинарные кавычки. иначе будет ошибка. ну и переделать не на executeSql(string), а на выполнение запроса через параметры.
спасибо большое
Я думаю что неплохо бы еще добавить код на случай ерора и ролбек делать там
> счет может быть мультивалютным – в этом случае валюты перечисляются через запятую еретики и очищающий огонь
Обсуждают сегодня