Как узнать ADO.NET

Мне нужно изучить ADO.NET для создания приложений на основе MS Office. Я много читал о ADO.NET в библиотеке MSDN, но все кажется мне довольно грязным.

Каковы основы, которые нужно выяснить при использовании ADO.NET? Я думаю, что нескольких ключевых слов хватит, чтобы я мог организовать свое обучение.

Ответ 1

Существует три ключевых компонента (предполагая, что ур использует SQL-сервер):

  • SQLConnection
  • SqlCommand
  • SqlDataReader

(если вы используете что-то другое, замените Sql на "Something", например MySqlConnection, OracleCommand)

Все остальное просто построено поверх этого.

Пример 1:

using (SqlConnection connection = new SqlConnection("CONNECTION STRING"))
using (SqlCommand command = new SqlCommand())
{
  command.commandText = "SELECT Name FROM Users WHERE Status = @OnlineStatus";
  command.Connection = connection;
  command.Parameters.Add("@OnlineStatus", SqlDbType.Int).Value = 1; //replace with enum
  connection.Open();

  using (SqlDataReader dr = command.ExecuteReader))
  {
      List<string> onlineUsers = new List<string>();

      while (dr.Read())
      {
         onlineUsers.Add(dr.GetString(0));
      }
  }
}

Пример 2:

using (SqlConnection connection = new SqlConnection("CONNECTION STRING"))
using (SqlCommand command = new SqlCommand())
{
  command.commandText = "DELETE FROM Users where Email = @Email";
  command.Connection = connection;
  command.Parameters.Add("@Email", SqlDbType.VarChar, 100).Value = "[email protected]";
  connection.Open();
  command.ExecuteNonQuery();
}

Ответ 2

Другой способ получить объект команды - вызвать connection.CreateCommand().

Таким образом вам не нужно устанавливать свойство Connection в объект команды.