将SQL结果集分配给几个变量

本文关键字:几个 变量 SQL 结果 分配 | 更新日期: 2023-09-27 18:02:05

我正在编写Sharepoint 2010 Web部件,需要从SQL服务器获得结果集,并将结果分配给c#中的五个不同变量。我的选择如下:

    SELECT Col1, Col2, Col3, Col4, Col5
    FROM Table
    WHERE Id = 1

我想把这条语句的结果赋给5个不同的变量:

    var result1 = col1
    var result2 = col2
    var result3 = col3 
    var result4 = col4
    var result5 = col5

我知道在我从查询返回一个项目的情况下如何使用ExecuteScalar方法,但我如何从上述语句实现类似的操作?

将SQL结果集分配给几个变量

使用ExecuteReader()来完成此操作。

示例用法:

using (var conn = new SqlConnection(connectionString))
{
    conn.Open();
    using (var cmd = new SqlCommand(queryString, conn))
    {
        using (var reader = cmd.ExecuteReader())
        {
           while (reader.Read())
           {
              result1 = reader[0];
              result2 = reader[1];
              // etc.
           }
        }
    }
}