admin

如何将SELECT SQL查询结果保存在C#Asp.net中的数组中

sql

我已经编写了此查询以获取一些结果,如果我想将结果保存在数组中我该怎么办?我想在IF语句中使用col1和col2中的值,这就是为什么我正在考虑将它们保存在数组中的原因。

var con = new SqlConnection("Data Source=local;Initial Catalog=Test;Integrated Security=True");

using (con)
using (var command = new SqlCommand("SELECT col1,col2 FROM  some table", con))
{
   con.Open();
   command.ExecuteNonQuery();
}

阅读 222

收藏
2021-05-10

共1个答案

admin

通常我为此使用一个类:

public class ClassName
{
    public string Col1 { get; set; }
    public int Col2 { get; set; }
}

现在,您可以使用循环来填充列表,ToArray如果您确实需要数组:

ClassName[] allRecords = null;
string sql = @"SELECT col1,col2
               FROM  some table";
using (var command = new SqlCommand(sql, con))
{
    con.Open();
    using (var reader = command.ExecuteReader())
    {
        var list = new List<ClassName>();
        while (reader.Read())
            list.Add(new ClassName { Col1 = reader.GetString(0), Col2 = reader.GetInt32(1) });
        allRecords = list.ToArray();
    }
}

请注意,我假定第一列是a string,第二列是a
integer。只是为了证明C#是类型安全的,以及如何使用这些DataReader.GetXY方法。

2021-05-10