通过SqlDataRader乘以列数从sql查询中获取值

本文关键字:查询 sql 获取 SqlDataRader 通过 | 更新日期: 2023-09-27 18:08:08

有一个简单的SQL查询:

SELECT * FROM ExampleTable 

ExampleTable有7列。我想获得特定的列值,例如:second和fourth。为此,我使用了这样的SqlDataReader:

using(SqlCommand cmd = new SqlCommand(query,conn))
{
    using(SqlDataReader reader = cmd.ExecuteReader())
    {
        if(reader != null)
        {
            var firstvalue = "";
            var fourthvalue = "";
            while(reader.Read())
            {
                firstvalue = reader[1].ToString();
                fourthvalue = reader[3].ToString();
            }
        }
    }
}

当我试图在控制台显示这些值时,它乘以列数,app写了七次firstvalue和fourthvalues。如何解决这个问题?什么好主意吗?

编辑:

我已经在下面注释了代码,现在可以了。无论如何,谢谢你的建议。

通过SqlDataRader乘以列数从sql查询中获取值

在SQL查询分析器中检查查询SELECT * FROM ExampleTable的结果。可能是数据库中的重复值。如果没有,请张贴您的控制台打印代码。