c# - SQL查询结果到数组/列表

标签 c# sql sqlcommand

以下是查询数据库获取用户id列表的C#代码:

int id;
con = new SqlConnection(Properties.Settings.Default.ConnectionStr);
con.Open();
id = 180;
SqlCommand command = new SqlCommand("Select userid from UserProfile where grpid=@id", con);
command.Parameters.AddWithValue("@id", id);

using (SqlDataReader reader = command.ExecuteReader())
{
    if (reader.Read())
    {
        Console.WriteLine(String.Format("{0}", reader["userid"]));
    }
}

con.Close();

Output: 5629

实际上,grpid = 180Users 列表是 5629、5684、5694

如何读取列表或数组中的结果?

最佳答案

简单地:

List<int> results = new List<int>();
using (SqlDataReader reader = command.ExecuteReader())
{
    while (reader.Read())
    {
        results.Add((int)reader["userid"]));
    }
}
// use results

但是,您可能会发现像“Dapper”这样的工具可以节省您的时间

var results = con.Query<int>("Select userid from UserProfile where grpid=@id",
    new { id }).AsList();

关于c# - SQL查询结果到数组/列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50211453/

相关文章:

c# - 在 C# 中编写自定义联合(多个对象之间的连接)

c# - 从 .NET 应用程序 (C#) 捕获控制台输出

mysql - 如何将 "user"表连接到 "tasks"表

java - 将数据插入MYSQL数据库

c# - 数据适配器与 SQL 命令

用于克隆 IList 的 C# 通用扩展方法

c# - 到 CurrentThread.Abort 或不到 CurrentThread.Abort

SQL Server 2008 OPENROWSET权限问题

mysql - 无法在 WHERE 子句中使用 SELECT 子句的别名

c# - 如何使用 C# 运行包含许多关键字(包括 "GO")的大型 SQL 脚本?