Pregunta
Necesito aprender ADO.NET para crear aplicaciones basadas en MS Office.He leído mucho sobre ADO.NET en la biblioteca de MSDN, pero todo me parece bastante complicado.
¿Cuáles son los conceptos básicos que uno debe conocer al usar ADO.NET?Creo que unas pocas palabras clave serán suficientes para permitirme organizar mi aprendizaje.
Solución
Hay tres componentes clave (suponiendo que esté utilizando el servidor SQL):
SQLConnection
SqlCommand
SqlDataReader
(si estás usando otra cosa, reemplaza Sql
con "Algo", como MySqlConnection
, OracleCommand
)
Todo lo demás se construye sobre eso.
Ejemplo 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));
}
}
}
Ejemplo 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();
}
Otros consejos
Otra forma de obtener un objeto de comando es llamar connection.CreateCommand()
.
De esa manera no deberías tener que configurar el Connection
propiedad en el objeto de comando.