求助:asp对数据的binary类型数据读取,急,在线给分!

6z6 2004-10-25 02:50:19
具体数据样本0x868FFFFFFFFFFFFF。我直接读出的数据是乱码“?儰??”。
代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Dim rs
Dim rs_numRows

Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=pp;Initial Catalog=test;Data Source=127.0.0.1"
rs.Source = "select Calling,Called,ServiceDate from Content where Calling = 0x868FFFFFFFFFFFFF order by ServiceDate desc"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()

rs_numRows = 0
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><%=(rs.Fields.Item("Calling").Value)%>
</td>
<td><%=(rs.Fields.Item("Called").Value)%></td>
<td><%=(rs.Fields.Item("ServiceDate").Value)%></td>
</tr>
</table>

网上找了半天,没有结果。
不知哪位大侠帮帮忙!
...全文
176 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
6z6 2004-11-09
  • 打赏
  • 举报
回复
Function BianryToString(bs)
Dim c, rs
c = 0
rs = ""
For c = 2 To 7
ch = AscB(MidB(bs,c,1))
rs = rs & Chr(ch \ 16 + 48)
rs = rs & Chr(ch Mod 16 + 48)
Next

BianryToString = rs
End Function
还是一个朋友帮了我。问题解决了。
wxb1980 2004-10-25
  • 打赏
  • 举报
回复
可以考虑一下用Adodb.Stream对象试试。你从数据库中查询出的字段"Calling"的类型应该是bianry类型的,二进制数据读出以后先将其转化成16进制,然后在转换成字符形式,看看会不会得到你需要的结果。
6z6 2004-10-25
  • 打赏
  • 举报
回复
昏死,0x868FFFFFFFFFFFFF是16进制
6z6 2004-10-25
  • 打赏
  • 举报
回复
sql server 2000
二进制常量以 0x(一个零和小写字母x)开始,后面跟着位模式的十六进制表示。例如,0x2A 表示十六进制的值 2A,它等于十进制的数 42 或单字节位模式 00101010。
0x868FFFFFFFFFFFFF是二进制常量
6z6 2004-10-25
  • 打赏
  • 举报
回复
0x868FFFFFFFFFFFFF
我用的是sql server 2000的数据库,用查询分析器得出上面的数据(0x868FFFFFFFFFFFFF)
select Calling,Called,ServiceDate from Content where Calling = 0x868FFFFFFFFFFFFF order by ServiceDate desc

在查询分析器里没有乱码,一定有什么方法可以转换的。
crazysoul 2004-10-25
  • 打赏
  • 举报
回复
0x868FFFFFFFFFFFFF 是十六进制
1000011010001111111111111111111111111111111111111111111111111111 这个才是二进制
crazysoul 2004-10-25
  • 打赏
  • 举报
回复
那只能说明"Calling"的值不是完整的二进制字符流,不能转成十进制明文
jingxiaoping 2004-10-25
  • 打赏
  • 举报
回复
请参考http://www.10finger.com/show_articles.asp?articleid=1134
6z6 2004-10-25
  • 打赏
  • 举报
回复
<%Response.BinaryWrite (rs.Fields.Item("Calling").Value).getChunk(7500000)%>
缺少对象。
<td><% Response.BinaryWrite rs.Fields.Item("Calling").Value %></td>
乱码。
还是不行啊。
crazysoul 2004-10-25
  • 打赏
  • 举报
回复
<td><% Response.BinaryWrite rs.Fields.Item("Calling").Value %></td>
6z6 2004-10-25
  • 打赏
  • 举报
回复
非图片也非word。
只是数据!
jingxiaoping 2004-10-25
  • 打赏
  • 举报
回复
UP楼上的,是呀,要不然读取方式不一样呀。
yaohai 2004-10-25
  • 打赏
  • 举报
回复
你的二进制数据是什么啊,图片还是word文件======
jingxiaoping 2004-10-25
  • 打赏
  • 举报
回复
Response.BinaryWrite rec("二进制字段").getChunk(7500000)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧