经典ASP记录集和SQL Server 2008-日期时间格式问题

经典ASP记录集和SQL Server 2008-日期时间格式问题,sql,sql-server,sql-server-2008,asp-classic,recordset,Sql,Sql Server,Sql Server 2008,Asp Classic,Recordset,我正在使用一个经典的ASP文件上载应用程序,该应用程序使用Recordset.AddNew功能插入数据库。 有一个表单向该应用程序提交数据,应用程序(使用记录集)获取表单变量,如下所示: Set RS=Server.CreateObject(“ADODB.Recordset”) 艾德纽卢比 RS(“A_类”)=表格(“strA_类”) RS(“SP版本”)=表格(“strSP版本”) 表单(“strSP_VersionYear”)是一个隐藏变量,它包含一个字符串变量,在表单页面中设置为: str

我正在使用一个经典的ASP文件上载应用程序,该应用程序使用Recordset.AddNew功能插入数据库。
有一个表单向该应用程序提交数据,应用程序(使用记录集)获取表单变量,如下所示:

Set RS=Server.CreateObject(“ADODB.Recordset”)
艾德纽卢比
RS(“A_类”)=表格(“strA_类”)
RS(“SP版本”)=表格(“strSP版本”)

表单(“strSP_VersionYear”)是一个隐藏变量,它包含一个字符串变量,在表单页面中设置为:

strSP_VersionYear=“2014”

将此变量插入数据库时,它将被插入日期时间数据类型的列中。仅在字符串中插入年份(如上所述)可以使用SQL语句(在Insert语句中),但由于某种原因,在尝试通过记录集插入时(如上所示),它会抛出一个错误(如下所示)

提供程序错误“80020005”
类型不匹配

是否有一种方法可以将其格式化以成功插入到DateTime列中?
感谢您的帮助。

您需要更改SQL列的数据类型,或者在提交时在版本年份中添加前缀。例如,“01-01-”年和“12:00:00”


您还可以在SQL语句本身中转换SQL server中的输入元素(如果可以在其中进行转换的话)。它将是
Convert(datetime,'2014')
,它将为您提供所有前缀。

您希望一年中的哪一个月和哪一天?