好吧,我正在尝试创建一个visualscript,它创建一个文件,其中写入了一个记录集,并且该文件的名称是作为数据库的记录,举个例子,我想要一个查询,查询写在文件中,文件名是表的一行,这是我的代码:
class MyJob
attr_accessor :retry_delay
def initialize
self.retry_delay = 5 # default retry delay
end
def error(job, exception)
# set up a different the delay time on a specific error
if exception.is_a? NameError
self.retry_delay = 10
end
end
def reschedule_at(current_time, attempts)
current_time + retry_delay.seconds
end
end
因此,如果Filename的数据是7890,我希望将文件命名为7890.txt,并在文件中写入所有记录集...请帮助,这是我第一次尝试使用vbs ...
答案 0 :(得分:0)
如果你想在VBScript中使用ADODB对象,我建议先阅读ADO API Reference以熟悉各种对象。
在这种特殊情况下,行
Set Filename = Connection.Execute("Select obj_num FROM rest_def")
返回一个ADODB.Recordset
对象,以访问您将使用Fields
集合的查询结果,并在这种情况下传递返回字段的序号位置0
或命名字段为obj_num
。
这会改变
的这一行Nombre = Filename.getString
到
Nombre = Filename.Fields("obj_num").Value
getString()
对象也没有ADODB.Recordset
这样的方法。
将Main()
子程序更改为
Sub Main
Set objFSO=CreateObject("Scripting.FileSystemObject")
Call startConnection()
Set Filename = Connection.Execute("Select obj_num FROM rest_def")
'Continue to iterate through the recordset until we reach the last
'record (EOF).
Do While Not Filename.EOF
Nombre = Filename.Fields("obj_num").Value & ""
Archivo = "D:\archives\" & Nombre & ".txt"
Set outputFile = objFSO.CreateTextFile(Archivo, True)
outputFile.Write commandoSQL & vbCrLf
outputFile.Close
'Move to next record
Call Filename.MoveNext()
Loop
Call closeConnection()
End Sub
应该有效。这取决于你是否想为每个返回的记录创建一个文件,但是根据你的有限解释,这是我的解释。