【发布时间】:2012-06-15 07:48:00
【问题描述】:
我有一个 gridview 和 sqldatasource。
我正在尝试在数据库中插入新记录,并且 Date 列类型是 Date 并且默认格式是 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);
我得到:字符串未被识别为有效的日期时间。
谢谢
【问题讨论】:
-
date(和datetime、datetime2等)列没有具有格式。他们只存储日期(和时间)。将字符串转换为DateTime,然后再将其添加为参数,然后让ADO.NET 和SQL Server 处理。 -
是的..我这样做了,但 insertt 不接受日期时间值,我需要将其转换为字符串并添加吗?
-
否,您要避免将其视为字符串。
-
'System.Web.UI.WebControls.ParameterCollection.Add(string, System.Data.DbType, string)' 的最佳重载方法匹配有一些无效参数
-
date.Text建议您尝试给它一个字符串,而不是日期时间。