C#中sqlDataRead 的三种方式遍历读取各个字段数值的方法

下面是详细讲解“C#中sqlDataRead 的三种方式遍历读取各个字段数值的方法”的完整攻略:

1. 简介

SqlDataReader 是 ADO.NET 中的一个对象,用于从数据库中读取数据。它提供了三种方法来读取数据库中的数据。下面我们将逐个介绍这三种方法的具体用法。

2. 方法一:使用列的索引读取数据

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(queryString, connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        int id = reader.GetInt32(0);
        string name = reader.GetString(1);
        int age = reader.GetInt32(2);
        Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
    }
    reader.Close();
}

上面的代码使用了 SqlDataReaderGetInt32GetString 方法,以读取第一个、第二个和第三个列的值。

3. 方法二:使用列名称读取数据

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(queryString, connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        int id = reader.GetInt32(reader.GetOrdinal("Id"));
        string name = reader.GetString(reader.GetOrdinal("Name"));
        int age = reader.GetInt32(reader.GetOrdinal("Age"));
        Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
    }
    reader.Close();
}

上面的代码使用了 SqlDataReaderGetOrdinal 方法,以获取列的索引,然后使用 GetInt32GetString 方法读取数据。

4. 方法三:使用泛型方法读取数据

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(queryString, connection);
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        int id = reader.GetFieldValue<int>(0);
        string name = reader.GetFieldValue<string>(1);
        int age = reader.GetFieldValue<int>(2);
        Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
    }
    reader.Close();
}

上面的代码使用了 SqlDataReaderGetFieldValue 泛型方法,以读取数据。它没有使用列索引或列名称,而是使用了泛型参数类型来读取数据。

5. 总结

以上就是 C# 中使用 SqlDataReader 的三种方式遍历读取各个字段数值的方法。这三种方法都可以读取数据,但使用的方式略有不同。选择其中一种方法来读取数据,取决于您的个人喜好和正在处理的特定情况。

下面是一个完整的示例,读取 SQL Server 数据库中的员工表:

using System;
using System.Data.SqlClient;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "Data Source=(local);Initial Catalog=TestDB;Integrated Security=True";
            string queryString = "SELECT Id, Name, Age FROM Employees";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(queryString, connection);
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    int id = reader.GetInt32(0);
                    string name = reader.GetString(1);
                    int age = reader.GetInt32(2);
                    Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
                }
                reader.Close();
            }
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中sqlDataRead 的三种方式遍历读取各个字段数值的方法 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 利用WCF双工模式实现即时通讯

    下面是关于“利用WCF双工模式实现即时通讯”的完整攻略,包含两个示例。 1. 什么是WCF双工模式 WCF双工模式是一种WCF通信模式,它允许客户端和服务端之间进行双向通信。在WCF双工模式中,客户端和服务端都可以发送和接收消息,这使得WCF双工模式非常适合实现即时通讯。 2. 示例1:创建WCF服务 以下是一个示例,演示如何创建WCF服务: using S…

    C# 2023年5月15日
    00
  • 在ASP.NET中使用JavaScript脚本的方法

    方法一:在ASP.NET Web Forms项目中引用JavaScript文件 在项目中创建JavaScript文件,在该文件中编写JavaScript代码 将JavaScript文件添加到项目中,并设置其属性为嵌入资源文件(Embedded Resource) 在ASP.NET页面中通过以下方式引用JavaScript文件: <script src=…

    C# 2023年5月31日
    00
  • C#基础之vs2010安装与配置使用教程

    下面是详细讲解“C#基础之vs2010安装与配置使用教程”的完整攻略。 1. 安装Visual Studio 2010 在官网下载Visual Studio 2010安装程序,按照提示进行安装即可。 2. 配置Visual Studio 2010 2.1 设置编码格式 在Visual Studio 2010的“工具”菜单中,选择“选项”->“文本编辑器…

    C# 2023年5月15日
    00
  • asp.net core 修改默认端口的几种方法

    在ASP.NET Core中,可以通过多种方式修改默认端口。在本攻略中,我们将讨论几种修改默认端口的方法,并提供两个示例说明。 方法一:使用launchSettings.json文件 在ASP.NET Core中,可以使用launchSettings.json文件来配置应用程序的启动设置。以下是使用launchSettings.json文件修改默认端口的步骤…

    C# 2023年5月17日
    00
  • .NET Core跨平台串口通讯使用SerialPortStream基础类库问题解决

    .NET Core 跨平台串口通讯使用 SerialPortStream 基础类库问题解决 在 .NET Core 中,可以使用 SerialPortStream 基础类库来实现跨平台串口通讯。但是,在使用 SerialPortStream 基础类库时,可能会遇到一些问题。本攻略将详细讲解 .NET Core 跨平台串口通讯使用 SerialPortStre…

    C# 2023年5月17日
    00
  • Unity控制指针旋转到指定位置

    下面我来详细讲解一下“Unity控制指针旋转到指定位置”的完整攻略。 目录 前言 示例 #1:基于Transform.LookAt()方法旋转指针 示例 #2:基于Quaternion.Slerp()方法平滑旋转指针 总结 前言 在Unity游戏开发中,经常需要控制3D模型或UI元素随着玩家交互进行旋转。而控制对象旋转最常用的方法是使用Unity的Trans…

    C# 2023年6月3日
    00
  • C#处理医学影像(四):基于Stitcher算法拼接人体全景脊柱骨骼影像

    在拍摄脊柱或胸片时,经常会遇到因设备高度不够需要分段拍摄的情况, 对于影像科诊断查阅影像时希望将分段影像合并成一张影像,有助于更直观的观察病灶, 以下图为例的两个分段影像:       我们使用OpenCVSharp中的Stitcher类的Stitch方法,导入两张图像并拼接:  但结果却失败了,返回错误结果:ERR_NEED_MORE_IMGS,是由于医学…

    C# 2023年5月5日
    00
  • C# 获取系统DPI缩放比例以及分辨率大小

    一般方法 System.Windows.Forms.Screen类 // 获取当前主屏幕分辨率 int screenWidth = Screen.PrimaryScreen.Bounds.Width; int screenHeight = Screen.PrimaryScreen.Bounds.Height; // 获取指定屏幕分辨率 Screen seco…

    C# 2023年5月1日
    00
合作推广
合作推广
分享本页
返回顶部