使用其他格式插入数据库日期

本文关键字:数据库 日期 插入 格式 其他 | 更新日期: 2023-09-27 18:37:22

我有一个网格视图和sqldatasource。

我正在尝试

在数据库中插入新记录,日期列类型为日期,默认格式为美国、mm/dd/yyyy,我正在尝试插入另一种格式的日期。

  SqlDataSource2.InsertCommand = "Insert into test (Name,Date) VALUES (@Name,@CONVERT(Date,'@Date',104))";
        SqlDataSource2.InsertParameters.Add("Name", nameText);
        SqlDataSource2.InsertParameters.Add("Date", DbType.DateTime, date.Text);

我得到:字符串未被识别为有效的日期时间。

谢谢

使用其他格式插入数据库日期

数据库中格式不可知的日期类型(除非您将其存储为字符串)。

您可以先尝试使用 DateTime.ParseExactDateTime.Parse 获取有效的 System.DateTime 对象。

然后,使用此值设置 SqlParameter 。

DateTime dateValue = DateTime.Parse(date.Text); // try to make this working first.
SqlDataSource2.InsertCommand= "Insert into test (Name,Date) VALUES (@Name,@Date)";
    SqlDataSource2.InsertParameters.Add("Name", nameText);
    SqlDataSource2.InsertParameters.Add("Date", DbType.DateTime, dateValue);

首先应该使用DateTime对象而不是Date.Text,首先将你的文本转换为DateTime

其次,如果数据类型是SQLServer表中的数据时间,则在插入时不需要格式化日期时间。

"Insert into test (Name,Date) VALUES (@Name, @Date)";   

检索数据时应设置日期时间的格式select