Pergunta
Eu preciso aprender ADO.NET para construir aplicações baseadas no MS Office.Eu tenho de ler um bom negócio sobre ADO.NET na Biblioteca do MSDN, mas tudo parece um pouco confuso para mim.
Quais são as coisas básicas que um deve descobrir quando usar ADO.NET?Eu acho que algumas palavras-chave será suficiente para me organizar meu aprendizado.
Solução
Existem três componentes principais (supondo ur usando o SQL server):
SQLConnection
SqlCommand
SqlDataReader
(se você estiver usando outra coisa, substitua Sql
com "Algo", como MySqlConnection
, OracleCommand
)
Tudo o resto é apenas construído em cima disso.
Exemplo 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));
}
}
}
Exemplo 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();
}
Outras dicas
Outra forma de obter um objeto de comando é chamada de connection.CreateCommand()
.
Dessa forma, você não deve ter para definir o Connection
propriedade sobre o objeto de comando.