gpt4 book ai didi

c# - 从 SQLite 数据库 C# WPF 中提取 DateTime 的问题

转载 作者:行者123 更新时间:2023-12-03 18:54:11 24 4
gpt4 key购买 nike

我有一个非常可怕的错误...

我有两个窄等于类,用于从 sqlite 数据库中提取数据

我在两个 SQLite 数据库中将日期保存为 DATETIME。
我的第一个,包含这个加载数据的方法

private void LoadData()
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText = "select ID,Name,Solde,Last_Update from Comptes";
sql_cmd.CommandText = CommandText;
SQLiteDataReader reader = sql_cmd.ExecuteReader();
while (reader.Read())
{
Compte compte = new Compte();
compte.ID = reader.GetInt16(reader.GetOrdinal("ID"));
compte.Nom = reader.GetString(reader.GetOrdinal("Name"));
compte.Solde = reader.GetDouble(reader.GetOrdinal("Solde"));
string to = reader.GetString(reader.GetOrdinal("Last_Update"));
DateTime dt=DateTime.ParseExact(reader.GetString(reader.GetOrdinal("Last_Update")),"yyyy-MM-dd hh:mm:ss",CultureInfo.InvariantCulture);
compte.Last_Update = dt;
this.Comptes.Add(compte);

}
sql_con.Close();
}

第二个:
private void ExecuteQuery(string txtQuery)
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = txtQuery;
sql_cmd.ExecuteNonQuery();
sql_con.Close();
}

private void LoadData()
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText = "SELECT ID,Montant,ID_Emetteur,ID_Recepteur,Description,Date FROM Mouvements";
sql_cmd.CommandText = CommandText;
SQLiteDataReader reader = sql_cmd.ExecuteReader();
while (reader.Read())
{
Mouvement mouvement = new Mouvement();
mouvement.ID = reader.GetInt16(reader.GetOrdinal("ID"));
mouvement.Montant=reader.GetDouble(reader.GetOrdinal("Montant"));
mouvement.ID_Emetteur=reader.GetInt32(reader.GetOrdinal("ID_Emetteur"));
mouvement.ID_Recepteur=reader.GetInt32(reader.GetOrdinal("ID_Recepteur"));
mouvement.Description=reader.GetString(reader.GetOrdinal("Description"));
String out_date = reader.GetString(reader.GetOrdinal("Date"));
try
{
DateTime dt = DateTime.ParseExact(out_date, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture);
}
catch (Exception ex) { }
this.Mouvements.Add(mouvement);

}
sql_con.Close();
}

第一种方法有效,但第二种方法在 try catch 附近给了我一个异常。
格式完全相同。

A Debugger Capture here

希望有人能帮助我!

最佳答案

如果要使用 24 小时制,则需要在格式字符串中使用 HH。 hh 是 12 小时时间,并且提供的时间 > 12,因此会引发异常。这将起作用。

DateTime dt = DateTime.ParseExact(out_date, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

关于c# - 从 SQLite 数据库 C# WPF 中提取 DateTime 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21615301/

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