gpt4 book ai didi

c# - 使用 SQLDataReader 的可空 DateTime

转载 作者:IT王子 更新时间:2023-10-29 04:46:16 26 4
gpt4 key购买 nike

<分区>

我几乎不想问这个问题,好像它已经被问过一百万次了,但即使我研究了另一个问题,我似乎仍然无法在我的案例中解决这个问题。

我读到 DateTime 是一个可以为 null 的类型,我尝试了一些示例,但我试图弄清楚它在数据库中是否为 NULL 我的 SQLDATAREADER 失败了。

错误

System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot 'be called on Null values.'

细节类

private DateTime? startingDate;

public DateTime? StartingDate
{
get{ return startingDate; }
set{ startingDate = value; }
}

// constructor
Public DetailsClass(DateTime? startingDate)
{
this.startingDate = startingDate;
}

数据库类

   using (SqlConnection con = new SqlConnection(connectionString))
using (SqlCommand cmd = con.CreateCommand())
{

List<DetailsClass> details = new List<DetailsClass>();
DetailsClass dtl;
try
{
con.Open();
cmd.CommandText = "Stored Procedure Name";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@MyParameter", myparameter);

using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
dtl = new DetailsClass((
reader.GetInt32(reader.GetOrdinal("MEMBERSHIPGEN"))),
reader.IsDBNull(1) ? null : reader.GetString(reader.GetOrdinal("EMAIL")),
reader.GetDateTime(reader.GetOrdinal("STARTINGDATE")));


details.Add(dtl);
}
reader.Close();
return details;

}
}

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