一尘不染

以另一种格式插入数据库日期

sql

我有一个gridview和sqldatasource。

我正在尝试在数据库中插入新记录,并且“日期”列类型是“日期”,默认格式是US,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。

谢谢


阅读 148

收藏
2021-03-17

共1个答案

一尘不染

数据库中与日期无关的日期类型(除非您将其存储为字符串)。

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

然后,使用此值设置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);
2021-03-17