问题标签 [adodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
17410 浏览

vb6 - 将 Str() 与 Null Recordset 字段一起使用时“无效使用 Null”,但 Str(Null) 工作正常

我正在用头撞墙。我正在查看一些用 VB6 编写的旧数据库报告代码并遇到了这一行(代码正在将数据从“源”数据库移动到报告数据库中):

rsSource!VehYear什么时候Null,上面的行会生成一个“无效使用 Null”的运行时错误。如果我打破上述行并在“立即”窗格中键入以下内容:

它输出Null. 好吧,这很有道理。接下来,我尝试重现错误:

我收到“无效使用 Null”错误。

但是,如果我在“立即”窗口中键入以下内容:

我没有收到错误。它只是输出Null.

Trim()如果我用而不是重复相同的实验Str(),一切正常。?Trim(rsSource!VehYear)返回Null, 一样?Trim(Null). 没有运行时错误。

所以,我的问题是,当我知道等于时,怎么Str(rsSource!VehYear)可能抛出“无效使用 Null”错误?Str(Null)rsSource!VehYearNull


更新:如果我在“立即”窗口中键入以下内容,它会按预期工作(不会发生错误):

这输出Null. 现在,我知道这rsSource!VehYear实际上是一个ADODB.Field实例,但Value它是它的默认属性,所以Str应该对Value属性(即Null)进行操作。甚至错误消息(“无效使用 Null”)也表明Str正在接收Null参数,但它如何Null在一种情况下而不是另一种情况下区别对待?

我唯一的猜测是内部实现以Str()某种方式无法获取默认属性,并且“无效使用 Null”错误是由于不同的原因发生的(参数以外的其他原因导致“无效使用 Null”,也许当它试图从Field对象中检索默认属性)。

有没有人对这里实际发生的事情有更详细的技术解释?

简而言之:

rsSource!VehYear当is时抛出“Invalid use of Null”错误Null,但是

返回Null

但是,两者Trim(rsSource!VehYear)Trim(rsSource!VehYear.Value)返回Null

0 投票
7 回答
130162 浏览

vbscript - 如何在 64 位机器上以 32 位模式运行 VBScript?

我有一个以 .vbs 结尾的文本文件,我在其中编写了以下内容:

  • 当我在 Windows 32 位机器上执行此操作时,它运行并结束时没有任何概念(预期)。
  • 当我在 Windows 64 位机器上执行此操作时,会出现错误

    找不到提供者。它可能没有正确安装。

但它已安装。我认为问题的根源在于提供程序是 32 位提供程序,据我所知,它不存在 64 位。

如果我在 64 位机器上通过 IIS 运行 VBScript(作为 ASP 文件),我可以选择它应该在 32 位模式下运行。然后它可以找到提供者。

如何让它在 Windows 64 位上找到提供程序?我可以告诉 CScript(执行 .vbs 文本文件)以某种方式在 32 位模式下运行吗?

0 投票
1 回答
3786 浏览

ms-access - 连续表格,如何通过外部连接添加/更新记录

编辑经过更多研究后,我发现我不能将连续表单与未绑定表单一起使用,因为它一次只能引用一条记录。鉴于我已经改变了我的问题......

我有一个示例表单,它可以提取数据以作为中介输入到表格中。

最初表单是未绑定的,我打开到两个主要记录集的连接。我将列表框的记录集设置为其中之一,将表单记录集设置为另一个。

问题是我无法添加记录或更新现有记录。尝试键入字段几乎没有任何作用,就好像该字段被锁定(事实并非如此)。记录集的设置是 OpenKeyset 和 LockPessimistic。

表没有链接,它们来自与该项目分开的外部访问数据库,并且必须保持这种方式。我正在使用 adodb 连接来获取数据。数据与项目的分离会导致这种情况吗?

表单中的示例代码

0 投票
1 回答
958 浏览

php - ADOdb Lite 与 MySqli

我正在做一个项目来用 PHP 构建一个街机站点。我正在考虑使用 ADOdb Lite 或 MySqli。哪一个在性能、速度和安全性方面更好?

谢谢,

0 投票
1 回答
627 浏览

sql - adodb:createparameter 是做什么的?

请用简单的英语向我解释一下这条线是什么意思:

然后我有一行将数据写入数据路径列:

但我不明白第一行的目的?什么是 adChar 和 adParamInput,100 代表什么?

0 投票
1 回答
144 浏览

sql - adodb .FIND 问题

我正在使用 excel 连接到 mysql 数据库

我正在这样做:

它运作良好

但是,我需要能够匹配多列上的数据,例如:

我需要知道 rs.find 是否匹配所有数据。

我怎样才能做到这一点?

据此我不能: https ://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-1045830.html#

但是也许有一种方法可以让我 rs.execute “一些选择语句”有人可以帮忙吗?

这对我有用吗,然后我会检查EOF:

0 投票
2 回答
938 浏览

sql - rs.filter 属性的使用无效?

我正在使用 adodb 从 excel 连接到 mysql

我在做:

但它给了我一个错误,它是无效使用过滤器属性

使用过滤器属性的正确方法是什么?

0 投票
1 回答
692 浏览

javascript - 生产中的服务器端 Javascript 无法打开与 SQL2008 命名实例的连接

我有一个生产站点,多年来一直使用名为 MDWDATA 的服务器上的 SQL Server 2000 默认实例。TCP 端口 1433 和命名管道在那里启用。我的目标是让这个 Web 应用程序使用升级到 SQL Server 2008 的数据库副本。我在名为 DEVMOJITO 的服务器上安装了带有 SP1 的 SQL2008,并使用各种 VB6 桌面程序测试了新数据库,这些程序在一个客户端-服务器方式和网站本身的某些部分可以与驻留在此 SQL2008 命名实例上的升级数据库正常工作。因此,虽然我很高兴数据库升级看起来不错,但该网站的一部分因此命名管道提供程序而失败:无法打开与 SQL Server 的连接 [1231]。我认为这个错误具有误导性。我在生产站点使用的 SQL2000 实例上禁用了命名管道,重新启动 SQL,所有 ASP 代码仍然可以正常工作(另外,我们在数据库服务器和面向公众的 Web 服务器上的这些 Web 虚拟目录之间有防火墙。

演示工作页面的生产虚拟目录的 URL:

我的开发 v 目录的 URL,它演示了失败的页面:

prod 和 dev 站点上的所有代码都是相同的,除了在 dev 上我试图连接到升级的数据库。

我知道有很多东西要检查我一直在寻找的东西,但我可以提供一些东西来帮助你:

  1. 失败的代码是几年前改编自 Brent Ashley 的“Javascript Remote Scripting (JSRS)”代码包的服务器端 Javascript。它以类似 AJAX 的方式运行,将请求发送回不同的 ASP 页面,然后处理回调。我认为这里要指出的关键是我如何更改与数据库的连接:(我无法在此处设置 Javascript 格式!)

    函数 setDBConnect(datasource) { var strConnect; //ADO 连接字符串 //strConnect = "DRIVER=SQL Server;SERVER=MDWDATA;UID=uname;PASSWORD=x;DATABASE=StagingMDS;";
    strConnect = "提供者=SQLNCLI10;服务器=DEVMOJITO\MSSQLSERVER2008;Uid=uname;密码=x;数据库=StagingMDS;"; 返回连接;}

    函数 serializeSql( sql , 数据源) { var conn = new ActiveXObject("ADODB.Connection"); var ConnectString = setDBConnect(数据源); conn.打开(连接字符串);var rs = conn.Execute(sql);

请注意连接字符串有何不同。我认为这可能是问题所在,但我不知道该怎么做。我很惊讶返回的错误说涉及“命名管道”,因为我真的想使用 TCP。此处的连接字符串语法与在使用 VBScript 的站点的不同部分成功使用的相同,我将在此处粘贴以显示:

此代码适用于 prod 和 dev 虚拟目录以及使用 ASP.NET 的 Web 其他部分中的其他代码正确地对这两个数据库工作。每个服务器上都启用了命名管道和 TCP。我不明白 Pipes 使用的字符串,但我始终使用默认值。

我想知道为什么上面的 Javascript 调用导致使用命名管道而不是 TCP。任何想法将不胜感激。

0 投票
2 回答
3870 浏览

asp-classic - 将 ADODB 记录集转储到 XML,然后返回到记录集,然后保存到数据库

我通过.Save()以下方式使用 ADODB 记录集的方法创建了一个 XML 文件。

让我们假设上面生成的 XML 然后被保存到一个文件中。

我能够将 XML 读回到这样的记录集中:

而且我可以毫无问题地遍历记录。

然而,我真正想做的是将所有数据保存res到一个完全不同的数据库中的表中。我们可以假设它some_table已经存在于另一个数据库中,并且与我最初查询以生成 XML 的表具有完全相同的结构。

我首先创建一个新记录集并使用AddNew将所有行添加res到新记录集中

但是当我第一次尝试将值分配给 to 时,这会res爆炸outRes

用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序错误“80040e21”

多步 OLE DB 操作产生错误。检查每个 OLE DB 状态值(如果可用)。没有做任何工作。

有人可以告诉我我做错了什么或建议一种更好的方法来将从 XML 加载的数据复制到不同的数据库吗?

更新,部分解决

所以事实证明,我的错误是由于我试图设置Identity字段的值引起的。如果我暂时将该字段更改为不是身份,则所有数据都会完美插入。

现在是一个后续问题

如何暂时关闭该字段的 Identity 属性,然后在完成更新后将其重新打开?

0 投票
2 回答
47842 浏览

sql - 找到我的数据库的 DSN?

我有一个 SQL 数据库,并希望使用 VBA 连接到它以支持一些遗留功能。我正在使用 ADODB 连接,需要知道我的数据库 DSN 是什么。我怎样才能找到这个?

我正在使用 SQL Server 2008,谢谢!:D