SqlDataReader用于高效读取只进只读数据流,使用步骤包括建立连接、执行命令、读取数据和释放资源。需保持连接打开直至读取完成,通过Read()方法逐行读取,用列名或索引获取值,并推荐用using语句确保资源释放。

在C#中,SqlDataReader 用于从数据库高效地读取只进、只读的数据流。它适用于需要快速访问大量数据的场景,比如逐行读取查询结果。
基本使用步骤
使用 SqlDataReader 的典型流程包括:建立连接、执行命令、读取数据、关闭资源。注意必须保持连接打开直到读取完成。
使用 SqlConnection 建立数据库连接通过 SqlCommand 执行 SELECT 查询调用 ExecuteReader() 获取 SqlDataReader 对象用 Read() 方法逐行读取数据使用索引或列名获取字段值正确释放资源(推荐使用 using 语句)
完整示例代码
以下是一个使用 SqlDataReader 读取用户表数据的示例:
using System;using System.Data;using Microsoft.Data.SqlClient; // .NET 6+ 使用 Microsoft.Data.SqlClientclass Program{ static void Main() { string connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;"; string query = "SELECT Id, Name, Email FROM Users"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(query, connection); try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32("Id"); string name = reader["Name"].ToString(); string email = reader["Email"] as string; Console.WriteLine($"ID: {id}, Name: {name}, Email: {email}"); } reader.Close(); // 关闭读取器 } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } // 连接自动关闭 }}
注意事项与最佳实践
使用 SqlDataReader 时应注意以下几点以避免常见问题:
确保连接字符串正确,并且数据库服务正在运行Always use using 语句确保连接和读取器被正确释放调用 Read() 方法前进到下一行,返回 false 表示已到末尾可通过列名或序号访问数据,如 reader[“Name”] 或 reader[1]根据数据类型选择合适的 Get 方法(GetInt32, GetString, GetDateTime 等)更高效且安全不要在关闭连接后尝试读取数据
基本上就这些。SqlDataReader 轻量高效,适合读取大量数据的场景,但需注意及时释放资源。
以上就是C#中如何使用SqlDataReader读取数据?示例代码是什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1439807.html
微信扫一扫
支付宝扫一扫