Вопрос
Мне нужно научиться ADO.NET создавать приложения на базе MS Office.Я много читал о ADO.NET в библиотеке MSDN, но мне все кажется довольно запутанным.
Какие основы необходимо учитывать при использовании ADO.NET?Я думаю, нескольких ключевых слов будет достаточно, чтобы я мог организовать свое обучение.
Решение
Существует три ключевых компонента (при условии, что вы используете SQL server).:
SQLConnection
SqlCommand
SqlDataReader
(если вы используете что-то другое, замените Sql
с "Чем-то", например 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 = "user@host.com";
connection.Open();
command.ExecuteNonQuery();
}
Другие советы
Другой способ получения командного объекта - вызвать connection.CreateCommand()
.
Таким образом, вам не нужно будет устанавливать Connection
свойство для объекта command.