【问题标题】:VB.NET How to get result in text from SQL QueryVB.NET 如何从 SQL 查询中获取文本结果
【发布时间】:2013-01-15 16:15:03
【问题描述】:

有了这张表:

CREATE TABLE #TEMP(
ID INT,
NAME VARCHAR(30)
)
INSERT INTO #TEMP VALUES(1,'a')
INSERT INTO #TEMP VALUES(2,'b')
INSERT INTO #TEMP VALUES(3,'c')
INSERT INTO #TEMP VALUES(4,'d')
INSERT INTO #TEMP VALUES(5,'e')

还有这个查询:

print '-----------------------'
select * from #TEMP
print '******************************************'

我需要得到如下文本的结果:

-----------------------
ID          NAME
----------- ------------------------------
1           a
2           b
3           c
4           d
5           e

******************************************

当我选择“文本结果”或“文件结果”时,我可以使用 SQL Server Management Studio 获取它。 我怎样才能通过 VB.Net 得到这个结果?

las 查询只是一个示例。这是我真正的需要:

......

我在 MS Server 2000 上。 感谢您的帮助!

【问题讨论】:

  • 您可以获取查询结果并将它们放入您喜欢的任何形式。 What have you tried?
  • 您最好在前端对其进行格式化,而不是试图强制 SQL 输出带有所有必要破折号和星号的查询结果。
  • 我只是使用现有的查询。此查询有 2000 行,它会打印一份报告。我同意,这不是好的解决方案,但我不想重建查询

标签: .net sql vb.net sql-server-2000


【解决方案1】:

您可以使用ADO.NETStreamWriter

Using stream = New StreamWriter(path)
    stream.WriteLine("----------------")
    stream.WriteLine("ID          NAME")
    stream.WriteLine("----------------")
    Using con = New SqlConnection(YourConnectionString)
        Using cmd = New SqlCommand("select * from #TEMP", con)
            Using reader = cmd.ExecuteReader()
                While reader.Read()
                    stream.WriteLine(String.Format("{0} {1}", reader.GetString(0), reader.GetString(1)))
                End While
            End Using
        End Using
    End Using
    stream.WriteLine("******************************************")
End Using

How to: Write Text to a File

请注意,Using 语句可确保即使在发生异常时也会释放对象。

【讨论】:

  • 您的解决方案将正常工作,此查询只是一个示例。我刚刚用我的真实查询更新了我的问题
  • 我想加载我的 .sql 文件,执行,并在文件或字符串中获取结果
  • @jonlabr:也许我误解了这个要求。您想知道如何从 Textfile1 创建 sql 查询、执行它们并使用结果创建 Textfile2?请注意,文本文件不是 sql sommand 的正确输入。您可能对 sql-injection 开放。 msdn.microsoft.com/en-us/library/vstudio/…
  • 我已经有了 .sql 文本文件。这是问题中的图像。现在我需要在另一个文件中得到结果。我知道我可以执行它并使用阅读器循环并将每一行写入文件中。但是结果中没有'------------------------'行。
猜你喜欢
  • 1970-01-01
  • 2021-10-12
  • 1970-01-01
  • 1970-01-01
  • 2017-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
相关资源
最近更新 更多