0

我有一个需要不断更新的文本文件(定期)。

我想要的只是语法,可能还有一些使用 ASP.Net 从 SQL Server 数据库输出数据的代码。我到目前为止的代码是:

<%@ Import Namespace="System.IO" %>
<script language="vb" runat="server">
  sub Page_Load(sender as Object, e as EventArgs)
  Dim FILENAME as String = Server.MapPath("Output.txt")

    Dim objStreamWriter as StreamWriter
   ' If Len(Dir$(FILENAME)) > 0 Then Kill(FILENAME)
   objStreamWriter = File.AppendText(FILENAME)

    objStreamWriter.WriteLine("A user viewed this demo at: " & DateTime.Now.ToString())

    objStreamWriter.Close()

    Dim objStreamReader as StreamReader
    objStreamReader = File.OpenText(FILENAME)

    Dim contents as String = objStreamReader.ReadToEnd()

    lblNicerOutput.Text = contents.Replace(vbCrLf, "<br>")

    objStreamReader.Close()
  end sub
</script>

<asp:label runat="server" id="lblNicerOutput" Font-Name="Verdana" />

使用 PHP,这是轻而易举的事,但使用 .Net 我不知道。如果您能帮助我处理数据库连接以及如何将管道分隔格式的数据写入 Output.txt 文件,那真是太棒了。多谢你们!

4

2 回答 2

1

我会首先将此代码放入代码隐藏文件中,以便您的页面至少遵循最少意外原则。

将内容写入文件的最简单方法是使用File.WriteAllText方法(假设您的应用程序对文件系统具有适当的权限)。

您可以使用SqlConnection类访问数据库并使用SqlCommand执行您需要的任何命令。从数据库中取回数据后,只需将其转换为数组(假设没有大量数据)并像这样调用String.Join方法String.Join("|", yourData)

于 2010-03-19T04:53:11.743 回答
0
  Dim dr As SqlDataReader

  Dim FILENAME as String = Server.MapPath("Output.txt")

  Dim objStreamWriter as StreamWriter
  objStreamWriter = File.CreateText(FILENAME)

  sqlConn.Open()
   'opening the connection
  myCommand = New SqlCommand("SELECT  id, title, expirydate, creationdate from tbl where tbl.isactive=1 and getdate()<=ExpiryDate order by  creationdate asc", sqlConn)
  'executing the command and assigning it to connection 
  dr = myCommand.ExecuteReader()
  While dr.Read()

      objStreamWriter.WriteLine("{0}|{1}|{2:yyyy-MM-dd}|{3:yyyy-MM-dd}", dr(0),  dr(1), dr(2), dr(3))

  End While
  dr.Close()
  sqlConn.Close()

  objStreamWriter.Close()

  Dim objStreamReader as StreamReader
  objStreamReader = File.OpenText(FILENAME)
于 2010-03-23T16:05:34.070 回答