我有几个关于VBScript和ASP Classic的问题:
在VBScript/ASP中访问MS SQL Server数据库的首选方法是什么?
关于从控制器中分离模型的最佳实践是什么?
关于VBScript或ASP,我应该知道的任何其他事情?
如果您没有注意到,我是VBScript编码的新手.我意识到数字2和3是一种过于笼统的巨型"黑洞"问题,所以不要以为我希望从这里学到关于这两个问题的所有知识.
我正在尝试将正在运行的MS Access查询转换为在通过VB脚本(.asp)访问的Oracle数据库上运行.这是WHERE子句的最后一部分:
sql = sql & "WHERE (UAT.HB.MB_MODE = 'A' AND UAT.HB.PRINT_DATE >= '"
& SD & "' AND UAT.HB.PRINT_DATE <= '" & ED &"' )"
Run Code Online (Sandbox Code Playgroud)
变量"SD"(即"开始日期")是一个文本字符串,可以包含诸如"11/11/2008"之类的值.变量"ED"(即"结束日期")也是如此.
但是,日期不起作用.Oracle是否需要特殊的方式来使用日期?
日期是否必须转换?我是否像在MS Access中一样用'#'关键字包围它们?
如何使用VBScript?创建excel文件?我在网上搜索,但它只是提到打开现有文件.
这是从下面显示的互联网提取
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\New_users.xls")
Run Code Online (Sandbox Code Playgroud)
我想知道你如何创建一个新的excel文件或.xls使用vbscript?
感谢致敬
马迪
我正在尝试修复ASP Classic应用程序,当我尝试从Recordset对象创建一个数组时.但是,我不能让它正常工作.
这段代码给了我一条记录(最后一条),但据我所知,它是正确的:
Dim Products
Dim Products_cmd
Dim Products_numRows
Set Products_cmd = Server.CreateObject ("ADODB.Command")
Products_cmd.ActiveConnection = Conn
Products_cmd.CommandText = "SELECT prod_id, prod_description FROM dbo.products ORDER BY prod_description ASC"
Products_cmd.Prepared = true
Set Products = Products_cmd.Execute
Products_numRows = 0
Dim arrProducts()
arrProducts = Products.GetRows()
Run Code Online (Sandbox Code Playgroud)
使用此代码给我一个"下标超出范围:'UBound'
Dim Products
Dim Products_cmd
Dim Products_numRows
Set Products_cmd = Server.CreateObject ("ADODB.Command")
Products_cmd.ActiveConnection = Conn
Products_cmd.CommandText = "SELECT prod_id, prod_description FROM dbo.products ORDER BY prod_description ASC"
Products_cmd.Prepared = true
Set Products = Products_cmd.Execute
Products_numRows = 0
Dim …Run Code Online (Sandbox Code Playgroud) 我如何从VBScript执行DOS命令(而不是.bat文件)
例如,我想从VBScript执行以下操作:
cd /d C:dir_test\file_test
sanity_check_env.bat arg1
Run Code Online (Sandbox Code Playgroud) 我想连续ping我的家庭公共IP地址,如果ping失败,则自动执行traceroute以查看它的失败位置.
我一直在努力遵循这里的评论:
http://social.technet.microsoft.com/Forums/en-US/ITCG/thread/efc97c66-60a6-4fd7-8be4-4b454d040ce5
Windows兼容性更好,蝙蝠或vbs最好.
从互联网上的任何地方,我将失去与家庭网络的连接.从工作开始我已经开始ping了,当它掉线时我已经完成了一个traceroute,它在它到达我的IP之前就失败了.
我需要一个日志文件来证明它不是我的调制解调器,路由器或计算机.
我编写了一个VBScript函数来调用存储过程.在过去,我编写了许多用输入参数调用存储过程的函数,但在这种情况下,我需要使用Output参数.
在另一个应用程序中,我使用实体框架调用完全相同的存储过程,因此存储过程很好.
这是我的代码:
Run Code Online (Sandbox Code Playgroud)Function checkAccess(userid,link) isAllowed = false set cmd = Server.CreateObject("ADODB.Command") cmd.CommandText = "Check_Permission" cmd.ActiveConnection = Conn cmd.NamedParameters = true cmd.CommandType = adCmdStoredProc cmd.Parameters.Append(cmd.CreateParameter("@Login", adVarChar, adParamInput, 50, userId)) cmd.Parameters.Append(cmd.CreateParameter("@LinkId", adInteger, adParamInput, 50, link)) cmd.Parameters.Append(cmd.CreateParameter("@IsAllowed", adBoolean, adParamOutput, 10, isAllowed)) checkAccess = isAllowed End Function
此函数始终返回false.我如何使其工作?
我的vbscript会自动向收件人发送电子邮件,但是有人知道如何向其中添加多个收件人吗?
...
Dim ToAddress
Dim FromAddress
Dim MessageSubject
Dim MyTime
Dim MessageBody
Dim MessageAttachment
Dim ol, ns, newMail
MyTime = Now
ToAddress = "email@address.com"
MessageSubject = "It works!."
MessageBody = "Good job on that script."
MessageAttachment = some attachment
Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")
Set newMail = ol.CreateItem(olMailItem)
newMail.Subject = MessageSubject
newMail.Body = MessageBody & vbCrLf & MyTime
newMail.RecipIents.Add(ToAddress)
newMail.Attachments.Add(MessageAttachment)
newMail.Send
Run Code Online (Sandbox Code Playgroud)
这就是我现在所拥有的.它工作正常.但是,我想拥有多个收件人.提前致谢.
newMail.CC = "person1@domain1.org;person2@domain2.org;person3@domain3.org"
Run Code Online (Sandbox Code Playgroud)
以上这条线工作了!
它与.BCC的工作方式相同,以防有人想要不显示联系人列表.
我有这个脚本,它读取计算机列表并检查计算机是否安装了正确的软件版本.该脚本向我回应了版本错误的计算机,但我想改为记录日志
Dim strComputer, objFSO, ObjShell, strDisplayName, objList, strObject
Dim objReg, arrSubKeys, strProduct, strVersion, strReqVersion
Const For_Writing = 2
Const ForReading = 1
const ForAppending = 3
Const HKLM = &H80000002
Const strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
strReqVersion = "8.2.1 MP2"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Set objList = objFSO.OpenTextFile("c:\test\test.txt",ForReading)
Do While Not objList.AtEndOfStream
strComputer = objList.ReadLine
If HostOnline(strComputer) = True Then
Inventory(strComputer)
End If
Loop
Function Inventory(strComputer)
Set objTextFile = objFSO.OpenTextFile("c:\test\inventory.txt",2,true)
'creating a dictionary object
Set objDictionary = CreateObject("Scripting.Dictionary") …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VBScript运行.bat文件.我可以在与.bat相同的文件夹中执行时使VBScript工作,但是,我无法弄清楚如何在文件夹外部成功运行它.
Dim shell
Set shell = CreateObject("WScript.Shell")
shell.Run "C:\Users\js\Desktop\createIndex\createindex.bat"
Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×3
batch-file ×2
sql ×2
ado ×1
adodb ×1
cmd ×1
date ×1
dos ×1
mapi ×1
ms-access ×1
oracle ×1
outlook ×1
ping ×1
sql-server ×1
traceroute ×1