gpt4 book ai didi

c# - 从 .net 中的 DataReader 转换为列表

转载 作者:行者123 更新时间:2023-11-30 13:37:47 24 4
gpt4 key购买 nike

我有一个像这样的连接查询:

string cmdString = "select tblPackages.*, tblPackageTypes.Name from tblPackages join tblPackageTypes on tblPackages.TypeId = tblPackageTypes.Id";

现在我使用这个 SQL 命令并得到一个像这样的数据读取器:

SqlCommand cmd = new SqlCommand(cmdString,con);
SqlDataReader dr;

我想将数据读取器的值填充到列表中。我提到了这个 link但我没有得到我需要的东西。

我有从 sql 输出以下列

Id, TypeId, AllowedSMS, TimeSpan, Price, TypeName. 

我只想将它们传递到列表中。请帮助我.. 我是 asp.net 的新手

最佳答案

那么,在您的情况下,您需要一个可以容纳您的列的:

public class MyClass
{
public int Id { get; set; }
public int TypeId { get; set; }
public bool AllowedSMS { get; set; }
public string TimeSpan { get; set; }
public decimal Price { get; set; }
public string TypeName { get; set; }
}

当然,由于您没有定义这些列的数据类型,这只是一个猜测 - 您可能需要适应您的具体需求。

现在,您需要遍历 SqlDataReader 并从数据读取器中获取值并填充新创建的类:

using (SqlDataReader dr = cmd.ExecuteReader())
{
List<MyClass> results = new List<MyClass>();

while(dr.Read())
{
MyClass newItem = new MyClass();

newItem.Id = dr.GetInt32(0);
newItem.TypeId = dr.GetInt32(1);
newItem.AllowedSMS = dr.GetBoolean(2);
newItem.TimeSpan = dr.GetString(3);
newItem.Price = dr.GetDecimal(4);
newItem.TypeName = dr.GetString(5);

results.Add(newItem);
}
}

// return the results here, or bind them to a gridview or something....

关于c# - 从 .net 中的 DataReader 转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com