gpt4 book ai didi

c# - MySQL根据日期时间插入

转载 作者:行者123 更新时间:2023-11-30 22:31:20 28 4
gpt4 key购买 nike

这是我第一次发帖,所以如果我在不知不觉中违反了任何关于发帖礼仪的规定,我深表歉意。

我正在使用 C# 和 Redmine API 迁移数据库条目。当且仅当时间条目比数据库中现有的更新时,我才需要提取 XML 中的时间条目并插入 MySQL。

现在我正在通过简单地将原始 MySQL 数据库条目重新路由回 MySQL 并放入一个新表来对此进行原型(prototype)设计。以后会用类似SAP软件的ERP软件。

我不确定程序逻辑是否需要主要在 C# 代码中,或者在 MySQL 语句中。这是我卡住的地方:

foreach (TimeEntry t in timeEntries.list)
{

comm.CommandText =
"INSERT INTO time_entries(time_entry_id,project_id,issue_id,user_id,activity_id,hours,comments,"
+ "spent_on,created_on,updated_on,customer_number)"
+ "VALUES(?time_entry_id,?project_id,?issue_id,?user_id,?activity_id,?hours,?comments,?spent_on,"
+ "?created_on,?updated_on,?customer_number)";
comm.Parameters.AddWithValue("?time_entry_id", t.id);
comm.Parameters.AddWithValue("?project_id", t.project.Id);
comm.Parameters.AddWithValue("?issue_id", t.issue.id);
comm.Parameters.AddWithValue("?user_id", t.user.id);
comm.Parameters.AddWithValue("?activity_id", t.activity.id);
comm.Parameters.AddWithValue("?hours", t.hours);
comm.Parameters.AddWithValue("?comments", t.comments);
comm.Parameters.AddWithValue("?spent_on", t.spent_on);
comm.Parameters.AddWithValue("?created_on", t.created_on);
comm.Parameters.AddWithValue("?updated_on", t.updated_on);
comm.Parameters.AddWithValue("?customer_number", t.custom_fields.list[0].value);

comm.ExecuteNonQuery();
comm.Parameters.Clear();
continue;
}

当然,一切插入都很好,程序的后续运行只会插入重复的记录。完成后,我们的想法是它将作为每日 cron 作业运行,仅使用新的时间条目更新 MySQL。

正如我提到的,稍后我会将 XML 数据直接发送到类似于 SAP 软件的 ERP 程序,但现在我想确保 MySQL 到 MySQL 原型(prototype)首先工作。

我是一个相对较新的程序员,也是第一次发帖,所以如果我的代码逻辑有缺陷或者我的问题不够具体,请告诉我。提前致谢。

最佳答案

实际上,我只是想出了一个可行的解决方案。不确定这是否是最好的方法,但它有效,所以我很高兴。

我所做的只是将 updated_on 更改为 MySQL 中的主键,然后处理重复条目抛出的异常:

try
{
comm.ExecuteNonQuery();

}
catch(MySql.Data.MySqlClient.MySqlException mySqlEx)
{
Console.WriteLine("Duplicate entry found");
}

我想发布代码,以防它帮助其他人搜索同一问题的答案。就我而言,这个问题现在已经解决了。

关于c# - MySQL根据日期时间插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828090/

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