gpt4 book ai didi

c# - 使用 C# 从 MySQL 数据库中的 JSON 响应插入日期时间

转载 作者:行者123 更新时间:2023-11-29 10:04:29 26 4
gpt4 key购买 nike

我已经搜索了很多我认为的内容,但所有线程似乎都希望现在插入日期时间,但我不是......

我当前收到以下格式的日期时间:

“日期”:“2018-03-03T11:00:00Z”

我正在尝试插入列数据集为 DATETIME 的 MySQL 数据库

我正在使用以下 INSERT 语句:

“在重复键更新 col1 = @Name 上插入 tblname (col1, col2) 值 (@Name, @Date)”;

通过 AddWithValue 参数提供值,如下所示:

Command.Parameters.AddWithValue("@Date", Jo["结果"][x]["日期"]);

这总是导致我在数据库中收到以下内容:

0000-00-00 00:00:00

所用代码的完整修改版本(为了保持简短)如下:

using MySql.Data.MySqlClient;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Net;
using System.Text;

namespace stackoverflow
{
class forstackoverflow
{
public static int x = 0;
public static JObject Jo { get; set; }

static void Main()
{

string apiUrl = "REMOVED URL";
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader readerStream = new StreamReader(responseStream, Encoding.GetEncoding("utf-8"));
string json = readerStream.ReadToEnd();
readerStream.Close();
var Jo = JObject.Parse(json);
JArray id = (JArray)Jo["Results"];
for (int x = 0; x < id.Count; x++)
{
string sqlstring = "sql already highlighted.";

MySqlConnection Connection = null;
const string ConnectionString = @"REMOVED CONNECTION DETAILS";
Connection = new MySqlConnection(ConnectionString);
MySqlCommand Command = new MySqlCommand(sqlstring, Connection);

Command.Parameters.AddWithValue("@Name", (string)Jo["Results"][x]["name"]);
Command.Parameters.AddWithValue("@Date", (string)Jo["Results"][x]["date"]);

Connection.Open();
Command.ExecuteNonQuery();
Connection.Close();
Connection.Dispose();

Console.WriteLine((string)Jo["Results"][x]["name"] + " was inserted or updated in the database.");
}
}
}
}
}

最佳答案

当我尝试将 DateTime 2018-03-03T11:00:00Z 插入我的数据库(这是实际的 DATETIME 类型)时,出现以下错误:

警告:#1265 第 1 行“日期”列的数据被截断

我假设您的数据库正在处理此错误,并且只是默认为 0000-00-00 00:00:00。 MySQL DATETIME 需要采用 yyyy-MM-dd HH:mm:ss 格式。这意味着,如果您修改示例并从中删除 TZ,并在日期和时间之间放置一个空格,那么您可以将其插入到您的示例中。数据库。

您只需使用以下命令即可将其设置为正确的格式:

    var test = "2018-03-03T11:00:00Z";
test = test.Replace("T", " ").Replace("Z", " ");

希望这有帮助。

关于c# - 使用 C# 从 MySQL 数据库中的 JSON 响应插入日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202381/

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