ADO.NET数据库操作详解:查询单个值与结果集

需积分: 10 1 下载量 37 浏览量 更新于2024-09-16 收藏 41KB DOC 举报
"这篇文章除了介绍ADO.NET的基本用法,主要讲解了如何通过ADO.NET查询数据库并获取单个值以及查询结果集的操作步骤。" ADO.NET是Microsoft开发的一个数据访问组件,它允许程序员与各种数据库进行交互,包括SQL Server、Oracle、MySQL等。在本文中,我们将深入探讨如何使用ADO.NET来执行数据库查询并处理返回的数据。 1. 查询单个值 要从数据库中查询单个值,首先需要创建一个连接字符串,该字符串包含了数据库服务器、数据库名、用户名和密码等信息。例如: ```csharp string conStr = "server=.;database=数据库名;uid=用户名;pwd=密码"; // 如果数据库服务是SQL Express,连接字符串应改为 string conStr = @"server=.\sqlexpress;database=数据库名;uid=用户名;pwd=密码"; ``` 接着,创建一个`SqlConnection`对象实例,并用上述连接字符串初始化: ```csharp SqlConnection connection = new SqlConnection(conStr); ``` 然后,定义SQL查询语句: ```csharp string sql = "SELECT 列名 FROM 表名 WHERE 条件"; ``` 创建`SqlCommand`对象,并将SQL语句和连接对象作为参数传递: ```csharp SqlCommand cmd = new SqlCommand(sql, connection); ``` 打开数据库连接: ```csharp connection.Open(); ``` 执行SQL命令,`ExecuteScalar()`方法会返回查询结果的第一行第一列的值,类型为`object`,需要根据实际类型进行转换: ```csharp object result = cmd.ExecuteScalar(); // 转换为具体类型 int intValue = (int)result; ``` 最后,别忘了关闭连接: ```csharp connection.Close(); ``` 2. 查询结果集 查询结果集的过程与查询单个值类似,只是使用`ExecuteReader()`方法来获取`SqlDataReader`对象,它能遍历所有返回的记录。同样,从连接字符串开始,创建`SqlConnection`和`SqlCommand`对象,打开连接,然后执行SQL命令: ```csharp SqlDataReader reader = cmd.ExecuteReader(); ``` 可以检查`reader.HasRows`属性来判断是否有记录: ```csharp if (reader.HasRows) { // 有记录,进行遍历 while (reader.Read()) { // 访问每一行的列值,如第一列 string column1Value = reader.GetString(0); } } else { // 没有记录 } ``` 在遍历完所有记录后,确保关闭数据读取器和连接: ```csharp reader.Close(); connection.Close(); ``` 总结,ADO.NET提供了一套全面的接口和类用于操作数据库,包括创建连接、执行SQL语句、处理结果集等。通过这些基本操作,开发者能够灵活地实现各种复杂的数据库应用。