【发布时间】:2021-03-13 05:10:03
【问题描述】:
您好,我正在尝试进行预订页面。如果有人进行预订,该日期将保存在数据库中,并且也会显示在他们的页面上。 'dayid' 列的类型是 postgresql 中的日期。在剃须刀页面 C# 中,我使用 DateTime 类型作为变量 Dayid。我需要将数据库中的 dayid 值转换为字符串。但我不知道如何解决这个错误: “方法 'ToString' 没有重载需要 1 个参数” 这是代码
public List<ReservationModel> ShowReservation()
{
var cs = Database.Database.Connector();
List<ReservationModel> res = new List<ReservationModel>();
using var con = new NpgsqlConnection(cs);
{
string query = "Select dayid, locationid FROM reservation";
using NpgsqlCommand cmd = new NpgsqlCommand(query, con);
{
cmd.Connection = con;
con.Open();
using (NpgsqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
res.Add(new ReservationModel { Dayid = dr["dayid"].ToString("MM/dd/yyyy"), Locationid = dr["locationid"].ToString() });
}
}
con.Close();
}
}
return res;
}
【问题讨论】:
-
dr["david"]是什么类型的? -
尝试将 dr["dayid"] 分配给一个变量并仔细检查它是否是一个日期时间。很可能是对象。我会在调用 ToString 之前将其转换为 DateTime 以便能够使用格式化参数。还要考虑从模型中获取 DateTime 并避免强制转换的可能性。
-
我怀疑问题出在
dr["dayid"]将值装箱,所以您实际上是以object访问它。 -
好吧,我尝试在 while 循环上方执行 DateTime Dayid = dr["dayid"] 但它告诉我无法将对象转换为 System.DateTime
标签: c# postgresql .net-core type-conversion razor-pages