adArray 的 VBScript / ADODB 语法问题?

2024-04-24

我希望有人能给我一些关于我的 vb 脚本的新视角。该脚本的主要目的是使用一些参数执行存储过程。

我得到的错误是

“预计声明结束”

我没有做过太多的 VB 脚本编写,但从目前为止我发现的情况来看,这个错误是由于某种语法问题造成的。我已经查看这个脚本好几个小时了,但看不到任何明显的东西。我只能假设这取决于声明adArray(这在我眼中看起来不太正确,但我还没有找到任何这样声明的例子)。仅当我开始添加更多参数时才引入此错误。

Code:

Const adVarChar = 200
Const adParamInput = 1
Const adArray = 0x2000

Dim cmd
Dim sp
Dim intCode
Dim addIn
Dim groupCode
Dim screens
Dim arrScreens
arrScreens=split(LF06,",")

Set cmd=CreateObject("ADODB.Command")
sp="vfile_dev.dbo.vfp_groupReorder"

Set intCode=CreateObject("ADODB.Parameter")
intCode.Direction=adParamInput
intCode.name="@p_intCode"
intCode.Size=100
intCode.Type=adVarChar
intCode.Value=LF03

Set addIn=CreateObject("ADODB.Parameter")
addIn.Direction=adParamInput
addIn.name="@p_addIn"
addIn.Size=100
addIn.Type=adVarChar
addIn.Value=LF04

Set groupCode=CreateObject("ADODB.Parameter")
groupCode.Direction=adParamInput
groupCode.name="@p_groupCode"
groupCode.Size=100
groupCode.Type=adVarChar
groupCode.Value=LF05

Set screens=CreateObject("ADODB.Parameter")
screens.Direction=adParamInput
screens.name="@p_screens"
screens.Size=100
screens.Type=adArray
screens.Value=arrScreens

With cmd
   .ActiveCOnnection = "Provider='sqloledb';Data source='xxx';Integrated Security='SSPI';"
   .CommandType = 4
   .CommandText = sp
   .Parameters.Append intCode
   .Parameters.Append addIn
   .Parameters.Append groupCode
   .Parameters.Append screens
   .Execute
End With

Set cmd = Nothing
Set sp = Nothing
Set intCode = Nothing
Set addIn = Nothing
Set groupCode = Nothing

任何帮助将非常感激。谢谢。

EDIT:

对于那些感兴趣的人 - 我的解决方案是放弃 adArray 并将我的数据作为逗号分隔的 varchar 传递。然后,我使用简单的 split 函数在存储过程中处理这些数据。


我相当确定adArray尽管 ADO 常量中定义的常量不受 ADO 支持,但添加它是为了将来的兼容性。

From MSDN - ADO API Reference - DataTypeEnum https://msdn.microsoft.com/en-us/library/ms675318(v=vs.85).aspx
A flag value, always combined with another data type constant, that indicates an array of the other data type. Does not apply to ADOX.

此定义表明它只能与另一个 ADO DataTypeEnum 常量值一起使用来表示Array该数据类型的。

尽管有一些建议OR使用另一个 DataTypeEnum 常量来计算值应该可以,我在 12 年前就发现了这一点。

From the ADO public newsgroup (microsoft.public.ado)
Discussion: how to use AdArray data type with sql server 7 and stored procedures
Date: 2003-09-29 19:24:10 UTC


嗨大卫,

adArray 在 ADO 中不受支持,是为了将来的兼容性而创建的。 你需要实现什么目标?也许我们可以帮助提供另一个解决方案
--
瓦尔马祖尔
微软最有价值专家
检查病毒警报,保持更新
http://www.microsoft.com/security/incident/blast.asp http://www.microsoft.com/security/incident/blast.asp


有用的链接

  • 如何在 VBScript 中使用带有 adArray 数据类型的 ADODB 参数化查询? https://stackoverflow.com/a/9315160/692942 - 建议使用adArray是可能的。

  • Carl Prothman - 数据类型映射 http://www.carlprothman.net/Technology/DataTypeMapping/tabid/97/Default.aspx - 我的 ADO 数据类型映射资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

adArray 的 VBScript / ADODB 语法问题? 的相关文章

随机推荐

  • 在所有列上 apply() 自定义函数提高效率

    我应用这个功能 def calculate recency for one column column pd Series gt int Returns the inverse position of the last non zero v
  • 如何让Visual Studio推荐unity代码

    我一直在学习 C 和 Unity 但我遇到的一个问题是 在 Visual Studio 上编写 C 脚本时 VS 似乎总是推荐对 Unity 无用的脚本 一个例子是当我输入Vector3 它会推荐BitVector32 你不能忽略它们 就好
  • CngKeyBlobFormat 支持的实际格式是什么?

    Microsoft 页面提供了有关可使用的格式的 最少 信息CngKey 导入 https msdn microsoft com en us library bb344680 v vs 110 aspx Which actual格式实际上由
  • 创建透明渐变并将其用作 SpriteKit 中的 alpha 遮罩

    我正在尝试制作渐变并将其用作 alpha 蒙版 现在 我能够制作与此类似的图像 从黑色到透明 这是我用来实现这一切的代码 private func createImage width CGFloat height CGFloat gt CG
  • cin.get() 是非阻塞的

    我有与链接问题中提到的相同的问题 控制台窗口 在 VS 2010 中 在运行程序后立即消失 我使用 cin get 在主函数的末尾 但问题仍然存在 对可能的原因有什么想法吗 您可以查看main中的代码 int main const int
  • 如何动态地将新选项卡添加到红色选项卡面板中

    假设您有一个像这样的选项卡面板 editor layout below t tab panel 350x350 tab 1 below b button 75x25 Interpret on click do a text a area 3
  • 基于一个键将数据从 df 复制到多列中的另一个 df

    我有两个数据框 df1 和 df2 每个数据帧的唯一标识符是 ID 和 Prop Number 我需要将 df1 中的 Num1 2 和 3 列复制到 df2 1 Num 中的相应列 但我不确定如何对多个列进行合并 我想将 df2 保留为
  • 绝对中心流体div

    再会 我知道如果你想将 div 绝对居中 你可以这样做 div div blahblah div div CSS parent width 500px height 500px position absolute or relative t
  • Cordova DeviceReady 未触发

    这几天我一直在为这个问题苦苦思索 在尝试创建新的 FileTransfer 对象时出现许多 对象未定义 错误后 看起来问题更加基本 不知何故 DeviceReady 事件没有触发 Stack Overflow 在这个问题上有很多点击 但其中
  • 使用 nHibernate 序列化 DetachedCriteria

    我正在尝试序列化 DetachedCriteria 以便可以将其保存在数据库中并在以后重用相同的条件 当我运行下面的代码时 我得到 NHibernate Criterion DetachedCriteria 无法序列化 因为它没有无参数构造
  • Wagtail / Hallo.js - 添加插件但修改的内容未保存

    我正在 Wagtail 1 3 1 Django 1 7 11 上运行 我已经激活了 Hallohtml 和 Hallojustify 插件 它们出现在工具栏中 没有图标 但有按钮 可以使用按钮 并且可以在文本区域中看到修改 我的意思是 例
  • 如何使以下 readAsDataURL 返回多个 readAsDataURL?

    此函数读取从输入字段获取的文件并返回其 dataUrls readAsDataURL target target gt
  • 无法使用 Spring 的 WebServiceTemplate 将 Http 标头添加到消息中

    我有一个相当简单的情况 我尝试将 HTTP 标头 不是 SOAP 标头 添加到我使用 Spring 发出的请求中WebServiceTemplate 我定义了一个ClientInterceptor我在哪里做 Override public
  • Numpy 中如何获得向量的大小?

    为了与 只有一种明显的方法可以做到这一点 保持一致 如何在 Numpy 中获取向量 一维数组 的大小 def mag x return math sqrt sum i 2 for i in x 上面的方法有效 但是我无法相信我必须自己指定这
  • Android JNI异常处理

    我需要在 JNI 代码中实现异常处理 我不擅长 jni 找不到任何好的例子 因此 请提供完整的示例 这就是我正在做的 jint JNI OnLoad JavaVM vm void reserved jint result 1 g JavaV
  • 为什么 nhibernate 3.3 不允许 ICollection 上的私有 setter?

    我从 nhibernate 3 2 升级到 nhibernate 3 3 并且在我的域类中定义了很多虚拟成员 如下所示 public virtual ICollection
  • Django Channels - 无法在断开连接时发送消息

    我希望能够在用户断开连接时向房间组发送消息 以便更新玩家列表 似乎一旦断开连接就不可能了 这在某种程度上是有意义的 但是在断开用户连接之前我如何能够向通道发送消息 我有以下代码 async def disconnect self close
  • 不太无用的“yes”bash 命令:如何在每个循环中确认命令

    我编写了一个循环来解压缩目录中的所有 zip 文件 for f in zip do unzip f done 但是 我必须在每一步确认覆盖 replace file123 txt y es n o A ll N one r ename A
  • Functions Bot 是否不再是 Azure 中推荐的机器人服务?

    我有一个无服务器系统 我希望向其中添加 Bot Framework 主要是为了提供与不同聊天渠道的集成 我正在考虑尝试在 Bot Service 中创建一个 Functions Bot 但是当我开始创建一个时 我收到以下信息消息 Funct
  • adArray 的 VBScript / ADODB 语法问题?

    我希望有人能给我一些关于我的 vb 脚本的新视角 该脚本的主要目的是使用一些参数执行存储过程 我得到的错误是 预计声明结束 我没有做过太多的 VB 脚本编写 但从目前为止我发现的情况来看 这个错误是由于某种语法问题造成的 我已经查看这个脚本