Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server adArray的VBScript/ADODB语法问题?_Sql Server_Vbscript_Oledb_Ado_Adodb - Fatal编程技术网

Sql server adArray的VBScript/ADODB语法问题?

Sql server adArray的VBScript/ADODB语法问题?,sql-server,vbscript,oledb,ado,adodb,Sql Server,Vbscript,Oledb,Ado,Adodb,我希望有人能为我的vb脚本提供一些新的视角。此脚本的主要目的是使用一些参数执行存储过程 我得到的错误是 “预期语句结尾” 我没有做太多的VB脚本编写,但从我目前发现的情况来看,这个错误是由于某种语法问题造成的。我已经看了这个脚本好几个小时了,看不到任何明显的东西。我只能假设这取决于adArray的声明(在我看来,这并不正确,但我还没有找到任何被声明的例子)。只有在我开始添加更多参数时才引入此错误 代码: Const adVarChar=200 常量adParamInput=1 常数adArray

我希望有人能为我的vb脚本提供一些新的视角。此脚本的主要目的是使用一些参数执行存储过程

我得到的错误是

“预期语句结尾”

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

代码:

Const adVarChar=200
常量adParamInput=1
常数adArray=0x2000
Dim命令
暗sp
暗整数码
Dim addIn
Dim分组码
昏暗的屏幕
昏暗的屏幕
ARR屏幕=拆分(LF06,“,”)
Set cmd=CreateObject(“ADODB.Command”)
sp=“vfile\u dev.dbo.vfp\u groupReorder”
设置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”)
附加方向=adParamInput
addIn.name=“@p_addIn”
附加尺寸=100
addIn.Type=adVarChar
附加值=LF04
Set groupCode=CreateObject(“ADODB.Parameter”)
groupCode.Direction=adParamInput
groupCode.name=“@p_groupCode”
groupCode.Size=100
groupCode.Type=adVarChar
groupCode.Value=LF05
设置屏幕=CreateObject(“ADODB.Parameter”)
screens.Direction=adParamInput
screens.name=“@p_screens”
屏幕尺寸=100
screens.Type=adArray
screens.Value=arrseens
使用cmd
.ActiveCOnnection=“Provider='sqloledb';数据源='xxx';集成安全性='SSPI';”
.CommandType=4
.CommandText=sp
.Parameters.Append intCode
.Parameters.Append addIn
.Parameters.Append组代码
.Parameters.Append屏幕
.执行
以
Set cmd=Nothing
设置sp=无
设置intCode=Nothing
设置addIn=Nothing
设置groupCode=Nothing
任何帮助都将不胜感激。谢谢

编辑:


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

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


一个标志值,总是与另一个数据类型常量组合,表示另一个数据类型的数组。不适用于ADOX

此定义建议它只应与另一个ADO DataTypeEnum常量值一起使用,以表示该数据类型的
数组

虽然有人建议用另一个DataTypeEnum常量来
赋值应该有效,但我在12年前发现了这一点

来自ADO公共新闻组(microsoft.public.ADO)
讨论:如何在sql server 7和存储过程中使用AdArray数据类型
日期:2003-09-2919:24:10 UTC


你好,大卫

ADO不支持adArray,创建adArray是为了将来的兼容性。 你需要实现什么?也许我们可以提供另一种解决方案
--
Val Mazur
Microsoft MVP
检查病毒警报,保持更新


有用的链接
  • -建议可以使用
    adArray

  • -我的转到ADO数据类型映射的资源


SQL Server是否支持
屏幕。Type=adArray
?这是整个脚本吗?可能是哪一行的重复导致了错误?这是一个有用的资源,我已经使用了很长时间,因为我很确定ADO中不支持
adArray
,是为了将来的兼容性而添加的。我假设它会得到支持?是的,这就是整个剧本。。至少是它的VBscript方面。(LFXX变量在脚本外部声明并传入)。在这种情况下,我可能需要另一种解决方案。数组总是相当小,所以我想我可以将它作为逗号分隔的字符串传递。谢谢你的信息!