【发布时间】:2018-06-03 20:03:59
【问题描述】:
警告:经典 ASP 提前。 :)
我正在开发一个传统的 Classic ASP 应用程序,但我遇到了一个 ADODB.Recordset 对象的奇怪问题。
我有一个包含特定字段的 SQL2012 数据库表。我们称之为 AnnoyingField。它在 SQL 中的数据类型是“日期”。
ASP 在表上打开一个带有 SELECT 的 ADODB.Recordset 以收集字段,然后执行一些循环来完成它的工作:
For each Field in rs.Fields
typeid = rs(Field.Name).Type
'do stuff based on type
出于某种原因,AnnoyingField 的类型返回为 202 (nvarchar),而不是日期的预期类型之一(133 甚至 7)。这导致代码中进一步出现一些问题。
我用另一个“日期时间”类型的字段进行了测试,记录集代码返回了日期时间字段的预期类型.. 135。
有人知道为什么“日期”字段会以 nvarchar 形式返回吗?
在这种情况下,将数据库字段从日期更改为日期时间可能是不可能的,即使这可能是获取预期数据的逻辑路径。
【问题讨论】:
标签: sql-server types asp-classic adodb recordset