我有纯文本的内容放在数据中的长字段中,然后用下列语句调用出来
Response.ContentType = "application/msword"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "odbc1","rmuyu","rmuyu"
Set rs = cn.Execute("SELECT DH,NR FROM DAQW WHERE CONTAINS(NR,Response)>0")
datasize=rs(1).ActualSize
Response.BinaryWrite rs("NR").getchunk(7500000)
结果每次在word调用中要求对格式进行转换。
而后我用了下列语句
Response.ContentType = "text/html"
显示出来的的内容不是我所希望的形式,请高手指点。
在你的里面有两句ContentType的语句我不知道你要用哪一种.
如果你用Response.ContentType = "text/html"
那么 Response.BinaryWrite rs("NR").getchunk(7500000)
应该用 Response.Write 而不是 Response.BinaryWrite
还有你没有用到datasize这个变量
按照你的用法应该是:
datasize=rs(1).ActualSize
Response.BinaryWrite rs("NR").getchunk(datasize)
而不是Response.BinaryWrite rs("NR").getchunk(7500000)因为你已经获得了数据长度.
如果确定你的东西是纯文本,那么你需要把你的文本里面的 chr(10) chr(13) 也就是 vbCrLf
替换成 <BR> 否则的话,HTML里面是不会换行的.
如果你觉得这样比较麻烦,你可以是用比较简单的方法
<html>
<body>
<pre> <!--这个标记叫做用于原样输出 -->
<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "odbc1","rmuyu","rmuyu"
Set rs = cn.Execute("SELECT DH,NR FROM DAQW WHERE CONTAINS(NR,Response)>0")
datasize=rs(1).ActualSize
Response.BinaryWrite rs("NR").getchunk(datasize)
%>
</pre>
</body>
</html>
<pre> </pre> 原样输出就行了。
不知道你为什么要搞那么麻烦。既然是纯文本信息,不就是text类型吗?
<pre>
<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "odbc1","rmuyu","rmuyu"
Set rs = cn.Execute("SELECT DH,NR FROM DAQW WHERE CONTAINS(NR,Response)>0")
这样就可以了
response.write rs("NR")
rs.close
Set rs = Nothing
cn.close
Set cn = Nothing
</pre>