2009-09-10 103 views
1

我在C#代码中有一个示例,但它使用的是streamWriter。它必须涉及FileSystemObject仪式。如果是,我应该使用哪些方法?我想用VBScript WSH编码,而我的数据库是MS SQL Server 2005如何使用VBScript从数据库复制到文本文件?

任何解决方案,参考或指南都很有帮助。

using (StreamWriter tw = File.AppendText("c:\\INMS.txt")) 
{ 
    using (SqlDataReader reader = cmd.ExecuteReader()) 
    { 
     tw.WriteLine("id, ip address, message, datetime"); 
     while (reader.Read()) 
     { 
      tw.Write(reader["id"].ToString()); 
      tw.Write(", " + reader["ip"].ToString()); 
      tw.Write(", " + reader["msg"].ToString()); 
      tw.WriteLine(", " + reader["date"].ToString()); 
     } 
     tw.WriteLine("Report Generate at : " + DateTime.Now); 
     tw.WriteLine("---------------------------------"); 
     tw.Close(); 
     reader.Close(); 
    } 
} 
+1

你想要什么?你希望我们把这个脚本转换为vb还是你需要一个相同的脚本? – 2009-09-10 08:56:38

+0

我想在VBScript中。 C#代码是我想要的例子。对不起,我感到困惑 – user147685 2009-09-10 09:08:58

+0

@Mitch:试图撤销downvote,但你对我来说有点快。并非我们所有人都可以花每一分钟观看所发生的一切。放松并减慢位。 – AnthonyWJones 2009-09-10 09:26:08

回答

3

在VBScript中,你需要ADODB对象和FileSystemObjectScripting库。类似于: -

Dim conn: Set conn = CreateObject("ADODB.Connection") 
conn.Open "an ole DB mysql connection string", usernameIfneeded, passwordIfNeeded 

Dim cmd : Set cmd = CreateObject("ADODB.Command") 
Set cmd.ActiveConnection = conn 
cmd.CommandText = "your SQL code here" 
cmd.CommantType = 1 ''# adCmdText Command text is a SQL query 

Dim rs : Set rs = cmd.Execute 

Dim fs : Set fs = CreateObject("Scripting.FileSystemObject") 
Dim textStream : Set textStream = fs.OpenTextFile("c:\inms.txt", 8, True) 
textStream.WriteLine "id, ip address, message, datetime" 
Do Until rs.EOF 

    textStream.Write rs("id") & "," 
    textStream.Write rs("ip") & "," 
    textStream.Write rs("msg") & "," 
    textStream.WriteLine rs("date") 

    rs.MoveNext 
Loop 

textStream.Close 
rs.Close 
conn.Close 
+0

Tqvm为解决方案,但关闭后,不需要设置rs和conn = Nothing?并且所有的sql命令都必须使用并设置为ADODB.Command? – user147685 2009-09-11 05:52:16

+0

通常这种代码应该划分成函数。由于局部变量rs和conn会超出范围,并在函数退出时被释放。我个人不喜欢给不必要的评论添加评论,但有些人似乎对这样做有一种温暖的模糊感。 – AnthonyWJones 2009-09-11 08:54:40

+0

了解。 tqvm! – user147685 2009-09-16 01:10:07

相关问题