创建ADO.NET对象相关操作("ADO.NET对象创建与操作指南")
原创
一、引言
ADO.NET 是一种用于在.NET环境中访问数据库的技术。它提供了一组用于连接、操作和断开数据库连接的对象。本文将详细介绍怎样创建和使用 ADO.NET 对象进行数据库操作。
二、ADO.NET核心对象
ADO.NET首要包括以下几个核心对象:
- Connection:用于与数据库确立连接。
- Command:用于执行数据库命令。
- DataReader:用于从数据库读取数据。
- DataAdapter:用于填充数据集(DataSet)并更新数据库。
- DataSet:用于在内存中存储数据。
三、创建数据库连接(Connection)
创建数据库连接通常使用SqlConnection类。下面是一个创建SqlConnection对象的示例代码:
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
四、执行数据库命令(Command)
创建Command对象后,可以执行SQL命令。下面是一个使用Command对象的示例代码:
// 创建Connection对象
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
// 创建Command对象
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SELECT * FROM Users";
// 打开连接
connection.Open();
// 执行命令
SqlDataReader reader = command.ExecuteReader();
// 遍历导致
while (reader.Read())
{
Console.WriteLine(reader["Name"]);
}
// 关闭连接
reader.Close();
connection.Close();
五、使用DataReader读取数据
DataReader是一种迅捷、高效的数据读取对策。下面是一个使用DataReader读取数据的示例代码:
// 创建Connection对象
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
// 创建Command对象
SqlCommand command = new SqlCommand("SELECT * FROM Users", connection);
// 打开连接
connection.Open();
// 执行命令并获取DataReader
SqlDataReader reader = command.ExecuteReader();
// 遍历导致
while (reader.Read())
{
Console.WriteLine(reader["Name"]);
}
// 关闭连接
reader.Close();
connection.Close();
六、使用DataAdapter填充数据集(DataSet)
DataAdapter可以用于填充数据集,并可以更新数据库。下面是一个使用DataAdapter的示例代码:
// 创建Connection对象
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
// 创建DataAdapter对象
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Users", connection);
// 创建DataSet对象
DataSet dataSet = new DataSet();
// 填充数据集
adapter.Fill(dataSet, "Users");
// 遍历数据集
foreach (DataRow row in dataSet.Tables["Users"].Rows)
{
Console.WriteLine(row["Name"]);
}
七、更新数据库
DataAdapter可以使用Update方法更新数据库。下面是一个使用DataAdapter更新数据库的示例代码:
// 创建Connection对象
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
// 创建DataAdapter对象
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Users", connection);
// 创建CommandBuilder对象
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(adapter);
// 修改DataSet中的数据
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "Users");
// 假设修改了某条记录
dataSet.Tables["Users"].Rows[0]["Name"] = "张三";
// 更新数据库
adapter.Update(dataSet, "Users");
八、使用事务处理数据库操作
事务可以确保一系列数据库操作的原子性。下面是一个使用事务处理数据库操作的示例代码:
// 创建Connection对象
string connectionString = "server=.;database=MyDatabase;uid=sa;pwd=123456";
SqlConnection connection = new SqlConnection(connectionString);
// 打开连接
connection.Open();
// 创建事务
SqlTransaction transaction = connection.BeginTransaction();
try
{
// 创建Command对象并设置事务
SqlCommand command1 = new SqlCommand("INSERT INTO Users (Name) VALUES ('张三')", connection, transaction);
SqlCommand command2 = new SqlCommand("INSERT INTO Users (Name) VALUES ('李四')", connection, transaction);
// 执行命令
command1.ExecuteNonQuery();
command2.ExecuteNonQuery();
// 提交事务
transaction.Commit();
}
catch (Exception ex)
{
// 回滚事务
transaction.Rollback();
}
finally
{
// 关闭连接
connection.Close();
}
九、总结
本文详细介绍了怎样创建和使用 ADO.NET 对象进行数据库操作。通过掌握这些核心对象,可以方便地在.NET环境中访问和操作数据库。在实际开发过程中,应结合具体需求选择合适的对象和方法,以确保程序的稳定性和性能。