问题标签 [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.
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!VehYear
Null
更新:如果我在“立即”窗口中键入以下内容,它会按预期工作(不会发生错误):
这输出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
。
vbscript - 如何在 64 位机器上以 32 位模式运行 VBScript?
我有一个以 .vbs 结尾的文本文件,我在其中编写了以下内容:
- 当我在 Windows 32 位机器上执行此操作时,它运行并结束时没有任何概念(预期)。
- 当我在 Windows 64 位机器上执行此操作时,会出现错误
找不到提供者。它可能没有正确安装。
但它已安装。我认为问题的根源在于提供程序是 32 位提供程序,据我所知,它不存在 64 位。
如果我在 64 位机器上通过 IIS 运行 VBScript(作为 ASP 文件),我可以选择它应该在 32 位模式下运行。然后它可以找到提供者。
如何让它在 Windows 64 位上找到提供程序?我可以告诉 CScript(执行 .vbs 文本文件)以某种方式在 32 位模式下运行吗?
ms-access - 连续表格,如何通过外部连接添加/更新记录
编辑经过更多研究后,我发现我不能将连续表单与未绑定表单一起使用,因为它一次只能引用一条记录。鉴于我已经改变了我的问题......
我有一个示例表单,它可以提取数据以作为中介输入到表格中。
最初表单是未绑定的,我打开到两个主要记录集的连接。我将列表框的记录集设置为其中之一,将表单记录集设置为另一个。
问题是我无法添加记录或更新现有记录。尝试键入字段几乎没有任何作用,就好像该字段被锁定(事实并非如此)。记录集的设置是 OpenKeyset 和 LockPessimistic。
表没有链接,它们来自与该项目分开的外部访问数据库,并且必须保持这种方式。我正在使用 adodb 连接来获取数据。数据与项目的分离会导致这种情况吗?
表单中的示例代码
php - ADOdb Lite 与 MySqli
我正在做一个项目来用 PHP 构建一个街机站点。我正在考虑使用 ADOdb Lite 或 MySqli。哪一个在性能、速度和安全性方面更好?
谢谢,
sql - adodb:createparameter 是做什么的?
请用简单的英语向我解释一下这条线是什么意思:
然后我有一行将数据写入数据路径列:
但我不明白第一行的目的?什么是 adChar 和 adParamInput,100 代表什么?
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:
sql - rs.filter 属性的使用无效?
我正在使用 adodb 从 excel 连接到 mysql
我在做:
但它给了我一个错误,它是无效使用过滤器属性
使用过滤器属性的正确方法是什么?
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 虚拟目录之间有防火墙。
prod 和 dev 站点上的所有代码都是相同的,除了在 dev 上我试图连接到升级的数据库。
我知道有很多东西要检查我一直在寻找的东西,但我可以提供一些东西来帮助你:
失败的代码是几年前改编自 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。任何想法将不胜感激。
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 属性,然后在完成更新后将其重新打开?
sql - 找到我的数据库的 DSN?
我有一个 SQL 数据库,并希望使用 VBA 连接到它以支持一些遗留功能。我正在使用 ADODB 连接,需要知道我的数据库 DSN 是什么。我怎样才能找到这个?
我正在使用 SQL Server 2008,谢谢!:D