数据库中插入错误的日期格式

时间:2017-08-02 16:38:16

标签: c# winforms datetime

这是我的日期代码:

  DateTime datetry = DateTime.Now;
  lebeldet.Text = string.Format("{0:MMM/dd/yyyy h:mm tt}", datetry);

在标签中,它显示我想要的结果

enter image description here

但当它插入数据库并且水晶报告打印时,它看起来像这样。

enter image description here

这是我的插入代码。

  crud.AddRecord("Update SalesTransaction Set Date = '" + Convert.ToDateTime(lebeldet.Text) + "' , Cashier = '" + cashier.Text + "', TotalSales = '" + totaldue.Text + "' , SubTotal = '" + subtotal.Text + "' , Discount = '" + discount.Text + "'  , DiscountableSales = '" + totaldiscountablesales.Text + "'  , Vat = '" + totalvat.Text + "'  , VatableSales = '" + totalvatablesales.Text + "'   where TransactionID = '" + salestransaction.TransactionID+"'  ");

如何插入日期,例如" 2017年8月3日12:30 AM" ?

1 个答案:

答案 0 :(得分:3)

  

但当它插入数据库并且水晶报告打印时,它看起来像......

数据库中的datetime值或C#中的DateTime值,具有任何格式。它们代表着一种价值。在评估时,您会看到特定格式的字符串,例如使用ToString方法。

在演示工具中,例如在SQL Management Studio或Visual Studio调试器中查看表中的字符串时,会发生对ToString(或类似)的隐式调用,以便您可以看到数据。其格式特定于所使用的工具。它不是数据本身的一部分。

对于Crystal Reports和其他报告工具,您通常会找到一个单独的字段或函数来控制报告中显示的格式。您可以在报表设计中的字段上执行此操作,而不是在数据库中的数据上执行此操作。