(счет может быть мультивалютным – в этом случае валюты перечисляются через запятую)
                  
                  
                  
                  
                  
                      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), а на выполнение запроса через параметры.
спасибо большое
Я думаю что неплохо бы еще добавить код на случай ерора и ролбек делать там
> счет может быть мультивалютным – в этом случае валюты перечисляются через запятую еретики и очищающий огонь
Обсуждают сегодня