Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 394 395 396 397 398 399 400 401 402 ... 642
Перейти на страницу:

Модифицируйте строку SQL для использования имени параметра (&quot;@carid&quot;) вместо интерполированной строки C# (&quot;{id}&quot;):

string sql =

  @&quot;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&quot;;

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

command.Parameters.Add(param);

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

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

SqlParameter param = new SqlParameter

{

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  ParameterName = &quot;@carId&quot;,

  Value = id,

  SqlDbType = SqlDbType.Int,

  Direction = ParameterDirection.Input

};

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

string sql = &quot;Delete from Inventory where Id = @carId&quot;;

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

command.Parameters.Add(param);

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

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

SqlParameter paramId = new SqlParameter

{

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  ParameterName = &quot;@carId&quot;,

  Value = id,

  SqlDbType = SqlDbType.Int,

  Direction = ParameterDirection.Input

};

SqlParameter paramName = new SqlParameter

{

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  ParameterName = &quot;@petName&quot;,

  Value = newPetName,

  SqlDbType = SqlDbType.NVarChar,

  Size = 50,

  Direction = ParameterDirection.Input

};

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

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

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

command.Parameters.Add(paramId);

command.Parameters.Add(paramName);

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

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

public void InsertAuto(Car car)

{

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  OpenConnection();

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

  string sql = &quot;Insert Into Inventory&quot; +

    &quot;(MakeId, Color, PetName) Values&quot; +

    &quot;(@MakeId, @Color, @PetName)&quot;;

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

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

  {

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

    SqlParameter parameter = new SqlParameter

    {

      ParameterName = &quot;@MakeId&quot;,

      Value = car.MakeId,

      SqlDbType = SqlDbType.Int,

      Direction = ParameterDirection.Input

    };

    command.Parameters.Add(parameter);

    parameter = new SqlParameter

    {

      ParameterName = &quot;@Color&quot;,

      Value = car.Color,

      SqlDbType = SqlDbType. NVarChar,

      Size = 50,

      Direction = ParameterDirection.Input

    };

    command.Parameters.Add(parameter);

    parameter = new SqlParameter

    {

      ParameterName = &quot;@PetName&quot;,

1 ... 394 395 396 397 398 399 400 401 402 ... 642
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга