使用vbs使用数据库中的记录命名文件

时间:2016-04-25 19:38:20

标签: vbscript recordset

好吧,我正在尝试创建一个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 ...

1 个答案:

答案 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

应该有效。这取决于你是否想为每个返回的记录创建一个文件,但是根据你的有限解释,这是我的解释。