如何获取 ado.net 中的特定列值

How to get specific column value in ado.net

我有一个 sql 查询,结果为

Column 1   : Column 2
-350000    : -349000
-217500    : -565500

我正在尝试获取 2nd Row

2nd Column 的值

-565500

请告诉我怎样才能做到这一点

你有多种方式,例如:

用一个SqlDataAdapter补一个DataTable:

DataTable table = new DataTable();
using (var con = new SqlConnection("connection string"))
using (var da = new SqlDataAdapter("Sql-Query", con))
    da.Fill(table);
object secondRowSecondColumnValue = table.Rows[1][1];

如果你知道这是一个 int:

int value = table.Rows[1].Field<int>(1);

使用 SqlDataReader 不太简洁:

int? value = null;
using (var con = new SqlConnection("connection string"))
using(var cmd = new SqlCommand("Sql-Query", con))
{
    con.Open();
    int row = 0;
    using (var rd = cmd.ExecuteReader())
    {
        while (rd.Read())
        {
            row++;
           if (row == 2)
           {
               value = rd.GetInt32(1);
               break;
           }
        }
    }
}

如果您只想要该值,最好的选择是首先 select 只需要该值。