Читаем Язык программирования C#9 и платформа .NET5 полностью

  @"SELECT i.Id, i.Color, i.PetName,m.Name as Make

        FROM Inventory i

        INNER JOIN Makes m on m.Id = i.MakeId

        WHERE i.Id = @CarId";


Последнее обновление связано с добавлением нового объекта параметра в коллекцию Parameters объекта команды:


command.Parameters.Add(param);

Обновление метода DeleteCar

Аналогично в исходной реализации метода DeleteCar применяется интерполяция строк С#. Чтобы модифицировать этот метод, создайте экземпляр SqlParameter с надлежащими значениями:


SqlParameter param = new SqlParameter

{

  ParameterName = "@carId",

  Value = id,

  SqlDbType = SqlDbType.Int,

  Direction = ParameterDirection.Input

};


Обновите строку SQL для использования имени параметра ("@ carId"):


string sql = "Delete from Inventory where Id = @carId";


В заключение добавьте новый объект параметра в коллекцию Parameters объекта команды:


command.Parameters.Add(param);

Обновление метода UpdateCarPetName

Метод UpdateCarPetName требует предоставления двух параметров: одного для Id автомобиля и еще одного для нового значения PetName. Первый параметр создается в точности как в предыдущих двух примерах (за исключением отличающегося имени переменной), а второй параметр обеспечивает отображение на тип NVarChar базы данных (тип поля PetName из таблицы Inventory). Обратите внимание на установку значения Size. Важно, чтобы этот размер совпадал с размером поля базы данных, что обеспечит отсутствие проблем при выполнении команды:


SqlParameter paramId = new SqlParameter

{

  ParameterName = "@carId",

  Value = id,

  SqlDbType = SqlDbType.Int,

  Direction = ParameterDirection.Input

};


SqlParameter paramName = new SqlParameter

{

  ParameterName = "@petName",

  Value = newPetName,

  SqlDbType = SqlDbType.NVarChar,

  Size = 50,

  Direction = ParameterDirection.Input

};


Модифицируйте строку SQL для применения параметров:


string sql = $"Update Inventory Set PetName = @petName Where Id = @carId";


Последнее обновление касается добавления новых параметров в коллекцию Parameters объекта команды:


command.Parameters.Add(paramId);

command.Parameters.Add(paramName);

Обновление метода InsertAuto

Добавьте следующую версию метода InsertAuto, чтобы задействовать объекты параметров:


public void InsertAuto(Car car)

{

  OpenConnection;

  // Обратите внимание на "заполнители" в запросе SQL.

  string sql = "Insert Into Inventory" +

    "(MakeId, Color, PetName) Values" +

    "(@MakeId, @Color, @PetName)";


  // Эта команда будет иметь внутренние параметры.

  using (SqlCommand command = new SqlCommand(sql, _sqlConnection))

  {

    // Заполнить коллекцию параметров.

    SqlParameter parameter = new SqlParameter

    {

      ParameterName = "@MakeId",

      Value = car.MakeId,

      SqlDbType = SqlDbType.Int,

      Direction = ParameterDirection.Input

    };

    command.Parameters.Add(parameter);


    parameter = new SqlParameter

    {

      ParameterName = "@Color",

      Value = car.Color,

      SqlDbType = SqlDbType. NVarChar,

      Size = 50,

      Direction = ParameterDirection.Input

    };

    command.Parameters.Add(parameter);


    parameter = new SqlParameter

    {

      ParameterName = "@PetName",

      Value = car.PetName,

      SqlDbType = SqlDbType. NVarChar,

      Size = 50,

      Direction = ParameterDirection.Input

    };

    command.Parameters.Add(parameter);

    command.ExecuteNonQuery;

Перейти на страницу:

Похожие книги

Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Нил Форд , Билл де Ора , Майкл Хайгард

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT