如何从 SQL Server / ASP.Net 以管道分隔格式写入文本文件?
-
21-09-2019 - |
题
我有一个需要不断更新(定期更新)的文本文件。
我想要的只是语法,可能还有一些使用 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 文件, ,那真是太棒了。多谢你们!
解决方案 2
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)
其他提示
我首先会至少将此代码放入代码隐藏文件中,以便您的页面至少遵循最少惊喜原则。
将内容写入文件的最简单方法是使用 文件.WriteAllText 方法(假设您的应用程序对文件系统具有适当的权限)。
您可以使用以下方式访问数据库 sql连接 类并执行您需要的任何命令 sql命令. 。从数据库获取数据后,只需将其转换为数组(假设没有大量数据)并调用 字符串连接 像这样的方法 String.Join("|", yourData)
.
不隶属于 StackOverflow