Domanda
Ho bisogno di imparare ADO.NET per la creazione di applicazioni basate su MS Office.Ho letto un bel po ADO.NET in MSDN Library, ma tutto sembra piuttosto disordinato di me.
Quali sono le basi che uno deve capire quando si utilizza ADO.NET?Penso che un paio di parole chiave è sufficiente per farmi organizzare il mio apprendimento.
Soluzione
Ci sono tre componenti chiave (supponendo ur utilizzo di SQL server):
SQLConnection
SqlCommand
SqlDataReader
(se si utilizza qualcosa di diverso, sostituire Sql
con "Qualcosa", come MySqlConnection
, OracleCommand
)
Tutto il resto è costruito in cima a quello.
Esempio 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));
}
}
}
Esempio 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();
}
Altri suggerimenti
Un altro modo di ottenere un oggetto di comando è quello di chiamare connection.CreateCommand()
.
In quel modo non è necessario impostare il Connection
proprietà l'oggetto di comando.