详读ADO Connection对象进行研究
创始人
2024-06-18 01:01:25
0

本文介绍,ADO Connection猜测 Excel 工作表或范围中各列的数据类型。(这不受 Excel 单元格格式设置的影响。)如果同一列中既有数字值,也有文本值,会出现严重的问题。Jet 和 ODBC 提供程序将返回占多数的类型的数据,

例如:
在被扫描的八 (8) 行中,如果该列包含五 (5) 个数字值和三 (3) 个文本值,则提供程序将返回五ADO Connection 个数字和三 (3) 个空值。在被扫描的八 (8) 行中,如果该列包含三 (3) 个数字值和五 (5) 个文本值,则提供程序将返回三 (3) 个空值和五 (5) 个文本值。

在被扫描的八 (8) 行中,如果该列包含四 (4) 个数字值和四 (4) 个文本值,则提供程序将返回四 (4) 个数字和四 (4) 个空值。因此,如果列中包含不同类型的值,唯一的解决方法是将该列中的数字值存储为文本,然后在需要时使用ADO Connection 函数或同等功能的函数将其还原为数字。

作为解决只读数据问题的一种替代方法,可在连接字符串的“扩展属性”部分中使用ADO Connection 这一设置来启用导入模式。这可强制执行 ImportMixedTypes=Text 注册表设置。但在此模式下,执行更新操作时可能会出现意外的结果。 有关此设置的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:

在 ADODC 属性对话框的常规选项卡上指定 Excel 数据源的连接设置后,单击记录源选项卡。如果选择的 CommandType 为 adCmdText,则可以使用上文介绍的语法在命令文本对话框中输入一个 SELECT 查询。如果选择的 ADO Connection 为 adCmdTable,而且使用的是 Jet 提供程序,所选工作簿中的可用命名区域和工作表的名称都会显示在下拉列表中,命名区域排在前面。#t#

如果有可用空间,可以将记录添加到 Excel 记录源中。但是,如果将新记录添加到了原来指定的区域之外,那么在对原来指定的区域重新进行查询时,将看不到这些记录。请参见上文中“指定区域时应注意的事项”一节。

使用 ADO Connection 可以检索有关 Excel 数据源(表和字段)的结构的数据。虽然使用两种 OLE DB 提供程序时至少都返回相同数量(很少)字段的有用信息,但结果在两者之间仍有细微差别。使用 ADO Connection 对象的 OpenSchema 方法可检索此元数据。

该方法返回一个 ADO Recordset 对象。也可以使用更强大的 Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) 库来检索元数据。然而,对于 Excel 数据源,“表”既可以是工作表也可以是命名区域,而“字段”则是几种有限的一般数据类型之一,ADO Connection 所以这一附加的功能没有什么用处。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...