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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 385 386 387 388 389 390 391 392 393 ... 642

    // Для localdb используйте @"Driver={ODBC Driver 17 for SQL Server};

    Server=(localdb)mssqllocaldb;Database=AutoLot;Trusted_Connection=Yes";

      "ConnectionString": "Driver={ODBC Driver 17 for SQL Server};

    Server=localhost,5433;

      Database=AutoLot;UId=sa;Pwd=P@ssw0rd;"

  },

  "OleDb": {

    // Для localdb используйте @"Provider=SQLNCLI11;

    // Data Source=(localdb)mssqllocaldb;Initial

     Catalog=AutoLot;Integrated Security=SSPI"),

     "ConnectionString": "Provider=SQLNCLI11;Data Source=.,5433;

       User Id=sa;Password=P@ssw0rd;

     Initial Catalog=AutoLot;"

  }

}

Сообщите MSBuild о необходимости копировать файл JSON в выходной каталог при каждой компиляции. Модифицируйте файл проекта, как показано ниже:

<ItemGroup>

  <None Update="appsettings.json">

<b>    &lt;CopyToOutputDirectory&gt;Always&lt;/CopyToOutputDirectory&gt;</b>

  &lt;/None&gt;

&lt;/ItemGroup&gt;

На заметку! Элемент CopyToOutputDirectory чувствителен к наличию пробельных символов. Убедитесь, что пробелы вокруг слова Always отсутствуют.

Теперь, располагая подходящим файлом appsettings.json, вы можете читать значения provider и connectionstring с использованием конфигурации .NET Core. Начните с обновления операторов using в верхней части файла Program.cs:

using System;

using System.Data.Common;

using System.Data.Odbc;

#if PC

  using System.Data.OleDb;

#endif

using System.IO;

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

using Microsoft.Data.SqlClient;

using Microsoft.Extensions.Configuration;

Очистите весь код в Program.cs и добавьте взамен следующий код:

using System;

using System.Data.Common;

using System.Data.Odbc;

#if PC

  using System.Data.OleDb;

#endif

using System.IO;

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

using Microsoft.Data.SqlClient;

using Microsoft.Extensions.Configuration;

using DataProviderFactory;

Console.WriteLine(&quot;***** Fun with Data Provider Factories *****n&quot;);

var (provider, connectionString) = GetProviderFromConfiguration();

DbProviderFactory factory = GetDbProviderFactory(provider);

// Теперь получить объект подключения.

using (DbConnection connection = factory.CreateConnection())

{

  if (connection == null)

  {

    Console.WriteLine($&quot;Unable to create the connection object&quot;);

                  // He удалось создать объект подключения

    return;

  }

  Console.WriteLine($&quot;Your connection object is a: {connection.GetType().Name}&quot;);

  connection.ConnectionString = connectionString;

  connection.Open();

  // Создать объект команды.

  DbCommand command = factory.CreateCommand();

  if (command == null)

  {

    Console.WriteLine($&quot;Unable to create the command object&quot;);

                  // He удалось создать объект команды

    return;

  }

    Console.WriteLine($&quot;Your command object is a: {command.GetType().Name}&quot;);

  command.Connection = connection;

  command.CommandText =

    &quot;Select i.Id, m.Name From Inventory i inner join Makes m on m.Id =

      i.MakeId &quot;;

  // Вывести данные с помощью объекта чтения данных.

  using (DbDataReader dataReader = command.ExecuteReader())

  {

    Console.WriteLine($&quot;Your data reader object is a:

      {dataReader.GetType().Name}&quot;);

    Console.WriteLine(&quot;n***** Current Inventory *****&quot;);

    while (dataReader.Read())

    {

      Console.WriteLine($&quot;-&gt; Car #{dataReader[&quot;Id&quot;]} is a

        {dataReader[&quot;Name&quot;]}.&quot;);

    }

1 ... 385 386 387 388 389 390 391 392 393 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий