gpt4 book ai didi

c# - 从 SQL Server 数据库读取小数

转载 作者:行者123 更新时间:2023-11-30 23:29:52 25 4
gpt4 key购买 nike

我想从 SQL Server 数据库中读取一些 decimal(8,2) 类型,并将它们存储在对象 MyRow 中。

public class MyRow
{
public decimal data1 { get; set; }
}

...

List<MyRow> values = new List<MyRow>();
SqlDataReader reader = command.ExecuteReader();

while (reader.read())
{
values.Add( new MyRow() {
data1 = decimal.Parse(((double)reader["data1"]).ToString("R"))
}
}

这个解决方案似乎远非理想,而且我似乎对一些看起来相当简单的东西进行了过多的转换。由于 data 的值在数据库中已经是 decimal(8,2) 了,有没有办法将数据读入 decimal 类型没有从 objectdecimal 的转换?

最佳答案

您可以使用 SqlDataReaderGetDecimal 方法。 SqlDataReader 对象实现了 IDataRecord 接口(interface)。因此,它实现了许多方法。在这些方法中,有 GetDecimal

有关这方面的更多信息,请查看here .

话虽这么说,你的代码可以写成如下:

List<MyRow> values = new List<MyRow>();
SqlDataReader reader = command.ExecuteReader();
while (reader.read())
{
values.Add(new MyRow()
{
data1 = reader.GetDecimal(reader.GetOrdinal("data1"))
});
}

关于c# - 从 SQL Server 数据库读取小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35185273/

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