使用其他格式插入数据库日期
本文关键字:数据库 日期 插入 格式 其他 | 更新日期: 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.ParseExact
或 DateTime.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