我需要修改一些用经典ASP(VBscript)编写的遗留代码.
我有一行设置数据库连接,如下所示:
set m_conn=OpenConn()
Run Code Online (Sandbox Code Playgroud)
我相信该OpenConn()函数在某个DLL中.这是坏消息,因为我们找不到该dll的源代码.所以,我一直在努力替换这个功能.这是我到目前为止:
function OpenConn()
dim conn
set conn = server.CreateObject("adodb.connection")
conn.open "XXXXconnection-stringXXXXX"
OpenConn = conn
end function
Run Code Online (Sandbox Code Playgroud)
当我尝试运行原始行set m_conn=OpenConn()(第50行)时,我得到一个ASP错误:
Microsoft VBScript runtime error '800a01a8'
Object required: '[string: "Provider=SQLOLEDB.1;"]'
/path/to/include.asp, line 50
Run Code Online (Sandbox Code Playgroud)
我不太清楚这种语法应该如何工作.通常,我在C#中工作,但是当我需要在ASP中执行这样的操作时,我会使用这样的语法:
set conn = server.createobject("adodb.conection")
conn.activeconnection = "connectionstring"
conn.execute "sql"
set conn = nothing
Run Code Online (Sandbox Code Playgroud)
无论如何,我正在寻找正确的语法,OpenConn()以便set m_conn=OpenConn()正常工作.
谢谢你的帮助.
谁能帮助我将这个VB脚本转换为等效的Javascript请.
PMT = ((PV - FV) * rate/ (1 - (1 + rate) ^ -(nper)))
Run Code Online (Sandbox Code Playgroud) 我只是想构建一个productIDs的字典
dim viewableProductIDs : set viewableProductIDs = CreateObject("Scripting.Dictionary")
do while not rsEntry.EOF
viewableProductIDs.Add rsEntry("ProductID"), true
rsEntry.MoveNext
loop
Run Code Online (Sandbox Code Playgroud)
rsEntry是一个ADODB Recordset,我通过详尽的debbug打印确保我的查询确实返回了唯一的productID,并且记录集没有重复项.然而有些人,vbscript坚持认为有重复.它会添加第一个罚款,但之后它会在所有其他方面出错.我试着用现有钥匙检查它周围,但是有些人认为它们都是,但第一个存在.然后最后我留下了一个只有一个条目的字典.
有没有人知道它为什么这样做?
我需要捕获我网站上不存在的URL,并将它们重定向到确实存在的相关页面.
我在Web服务器上设置了一个自定义404页面,然后在404中我查看了URL,确定它应该去哪里,然后按如下方式转发页面:
Response.Status = "301 Moved Permanently"
Response.AddHeader("Location",thisPageString)
Run Code Online (Sandbox Code Playgroud)
其中thisPageString是新的页面URL.
但是,当我用...访问页面URL时
Request.ServerVariables("PATH_INFO")
Run Code Online (Sandbox Code Playgroud)
...我得到当前实际的URL ="/404.asp"; 当我真正需要的是地址栏中显示的不存在的页面的原始URL.
我该如何访问?
谢谢.
当Date(包括Now)始终从Windows系统日期/时间调用时,我在VBScript中遇到了问题.
如何在不配置Windows系统日期/时间的情况下为VBScipt设置日期/时间.
例如
在VBS中呼叫日期时,日期将返回当前系统日期(如果今天日期是1/1/2001)
Dim settingDate
settingDate = Date
//settingDate = 1/1/2001
Run Code Online (Sandbox Code Playgroud)
我希望能够连接VBS代码以从我们设置的日期获取日期,而无需从代码更改Windows系统日期/时间
//Implement something to tell VBS that current date is 12/12/2000
Dim settingDate
settingDate = Date
//settingDate = 12/12/2000
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个VB脚本,可以创建一个文本文件.双击脚本运行它时,我在创建文件时出错.
代码 objFileSystem.CreateTextFile(fileName)
给出错误:" 对象不支持此属性或方法 "
但是,通过右键单击并选择" 使用命令提示符打开 "来运行脚本时,脚本可以正常运行.为什么是这样?
好的伙计们,我正在尝试在Classic ASP中编写一行代码来获取一个按钮,该按钮将触发它转到另一个带有查询字符串变量的页面.但是我很难让它工作.
到目前为止,这是我的代码:
response.write "<td valign='top'><input type='button' name='cmdUpdateInfo' value='Update Info' tabindex='7' onclick='window.location=updatecustomer.asp?UpdateID=""'" & rs("ID") & "'""/></td>" & vbCrLf
Run Code Online (Sandbox Code Playgroud)
处理此行时,我的ASP处理器出现以下错误:错误类型:(0x80020009)发生异常./ls_internal/newinvoice.asp,第325行
第325行是上面的代码行.我知道这很简单,但对于我的生活,我似乎无法弄明白.
先感谢您.
我在vbscript中写了一个跟随函数.
Function GetArray()
Dim Array(2)
Array(0) = "1"
Array(1) = "2"
GetArray = Array
End Function
Run Code Online (Sandbox Code Playgroud)
在页面中:
<%
Dim IArray()
IArray = GetArray()
%>
Run Code Online (Sandbox Code Playgroud)
但这不行.我怎样才能做到这一点?
我想找到一种方法(最好是VB脚本或PowerShell)生成一个报告,该报告显示域中的所有用户帐户,并显示它们所属的组.
我希望以下列格式将其导出到Excel电子表格:
用户名1 | 第1组,第2组,第3组,第4组,第5组等.
用户名2 | 第1组,第2组,第3组,第4组,第5组等
我一直在玩AD的Quest Powershell Commands并提出以下建议:
get-qaduser * -sizelimit 0 | select Name,MemberOf | export-csv report.csv
Run Code Online (Sandbox Code Playgroud)
但是,这在输出文件中显示为:
Username1 | System.String[]
Username2 | System.String[]
Username3 | System.String[]
Run Code Online (Sandbox Code Playgroud)
System.String[]组名应该在哪里.
我该怎么办?
vbscript ×10
asp-classic ×4
ado ×1
datetime ×1
dictionary ×1
javascript ×1
powershell ×1
process ×1
recordset ×1
vba ×1
wmi ×1