题
我需要学习 ADO.NET 来构建基于 MS Office 的应用程序。我在 MSDN 库中阅读了大量有关 ADO.NET 的内容,但对我来说,一切都显得相当混乱。
使用 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
命令对象上的属性。
不隶属于 StackOverflow