【发布时间】:2021-07-10 05:36:14
【问题描述】:
我使用 c# 表单应用程序发布到 api。我需要发送的数据是日期时间。我正在编写下面的代码,但无法发送日期时间。
private void button1_Click(object sender, EventArgs e)
{
DateTime datetimeValues = DateTime.Now;
var values = new Values()
{
name = "example_name",
datetime = datetimeValues
}
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:20295/");
HttpResponseMessage response = client.PostAsJsonAsync("api/test", values).Result;
}
当我编写此代码时,发送其他数据没有任何问题,但日期时间发送为空。可能是什么问题?
api/test 发布请求;
public string Post(Data data)
{
try
{
DataTable dt = new DataTable();
string query = @"insert into Table
(name, addedDate)
values(
'"+data.name+"', '"+data.addedDate+"')";
using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["App"].ConnectionString))
using (var cmd = new SqlCommand(query, con))
using (var da = new SqlDataAdapter(cmd))
{
cmd.CommandType = CommandType.Text;
da.Fill(dt);
}
return "Successful";
}
catch (Exception ex)
{
return "Error!" + ex.Message;
}
}
【问题讨论】:
-
请附上
api/test上处理POST请求的代码。没有这些信息将很难为您提供帮助 -
我添加了 api / test post request @AndreiKhotko
-
你的代码中有很多小问题。您能否也添加
Data类的定义,并在我写您问题的答案时告诉您使用什么数据库? -
我使用的是 ms sql server。数据类中有我要发送的数据。我发送这些数据没有问题。但是当我想通过 winform 发送日期时间时,它将它添加为空。 @AndreiKhotko
-
如果可能的话,我建议使用相同类型的客户端和服务器端(或使两者都遵循相同的界面)以避免此类问题
标签: c# winforms api asp.net-web-api