Function BytesToBstr(bodyStr,Cset)
dim objstream
set objstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Write bodyStr '错误之处'
objstream.Position=0
objstream.Type=2
objstream.Charset=Cset
BytesToBstr=objstream.ReadText
objstream.Close
set objstream=nothing
End Function
请各位高手帮忙,谢谢!
17 个解决方案
#1
各位多看哈嘛```````````急得很`
#2
bodyStr 是否为字符串?请检查
#3
同意2楼的说法
'objstream.Type=2'==========>这样才是文本类型的数据
objstream.Type=1'你这里指定了stream的类型为2进制数据,如果bodyStr不是字符串时错误
#4
objstream.Write bodyStr '错误之处'
这个变量不是string类型的变量,所以无法直接输出
如果他的数据是2进制,你不妨写一个2进制显示函数,或者去搜索一个现成的函数用以对其显示
这个变量不是string类型的变量,所以无法直接输出
如果他的数据是2进制,你不妨写一个2进制显示函数,或者去搜索一个现成的函数用以对其显示
#5
objstream.Type=1 是二进制
objstream.Write Request.BinaryRead(Request.TotalBytes)
需要类似二进制写入
objstream.Write Request.BinaryRead(Request.TotalBytes)
需要类似二进制写入
#6
我在本地运行是正确的,本地环境:XP+IIS6.0
放在服务器上就运行错误,出现以上所说的错误,环境:win2000+IIS6.0
请问一下怎么解决?
放在服务器上就运行错误,出现以上所说的错误,环境:win2000+IIS6.0
请问一下怎么解决?
#7
首先说明哈: bodyStr
是字符串
是字符串
#8
再请高手帮忙`快刷下去了
#9
怎么办呢???
#10
连接数据库的代码?有问题吧
本地是2000,服务器2003的话可能不兼容,某些少数错误
本地是2000,服务器2003的话可能不兼容,某些少数错误
#11
没连接数据库,是直接抓取别人网站的信息.
代码如下:
<%
htmstr=""
Function bytes2BSTR(vIn)
dim strReturn
dim i1,ThisCharCode,NextCharCode
strReturn = ""
For i1 = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i1,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i1+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i1 = i1 + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
function getHTTPPage(url)
on error resume next
dim http
set http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=Http.responseBody
set http=nothing
if err.number<>0 then err.Clear
end function
url="http://news.163.com/weather/news/qx1/57516.html"
htmstr=getHTTPPage(url)
htmstr=BytesToBstr(htmstr,"GB2312")
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr,"<br>"," ")
%>
代码如下:
<%
htmstr=""
Function bytes2BSTR(vIn)
dim strReturn
dim i1,ThisCharCode,NextCharCode
strReturn = ""
For i1 = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i1,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i1+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i1 = i1 + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
function getHTTPPage(url)
on error resume next
dim http
set http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=Http.responseBody
set http=nothing
if err.number<>0 then err.Clear
end function
url="http://news.163.com/weather/news/qx1/57516.html"
htmstr=getHTTPPage(url)
htmstr=BytesToBstr(htmstr,"GB2312")
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr,"<br>"," ")
%>
#12
你的代码 我这边可以运行的,没有提示出错.
pos1=instr(htmstr," </a> ")+4
pos2=instr(pos1,htmstr," <")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr," <br> "," ")
这个代码觉得效率不高,其实也没什么的
pos1=instr(htmstr," </a> ")+4
pos2=instr(pos1,htmstr," <")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr," <br> "," ")
这个代码觉得效率不高,其实也没什么的
#13
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<img")
htmstr=mid(htmstr,pos1,pos2-pos1)
呵呵
pos2=instr(pos1,htmstr,"<img")
htmstr=mid(htmstr,pos1,pos2-pos1)
呵呵
#14
1,try:
sql = "select * from [用户信息] where [用户名] = '"& request.Form("name") &"' "
另外,注意一下 request.form["name"]的值是什么。
ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。/test/db.asp
这个错误提示,一般是指表名,或字段名有问题。
2,rst.open "用户信息",conn,1,3
肯定是有误的。
try:
rst.open "[用户信息]",conn,1,3
如果不行建议
rst.open "select * from [用户信息]",conn,1,3
因为,odbc方式和oledb方式驱动连接access时,某一种方式支持直接 recordset.open的第一个参数为表名,另一种是不支持的,我记不太清了。
你一试便知。
sql = "select * from [用户信息] where [用户名] = '"& request.Form("name") &"' "
另外,注意一下 request.form["name"]的值是什么。
ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。/test/db.asp
这个错误提示,一般是指表名,或字段名有问题。
2,rst.open "用户信息",conn,1,3
肯定是有误的。
try:
rst.open "[用户信息]",conn,1,3
如果不行建议
rst.open "select * from [用户信息]",conn,1,3
因为,odbc方式和oledb方式驱动连接access时,某一种方式支持直接 recordset.open的第一个参数为表名,另一种是不支持的,我记不太清了。
你一试便知。
#15
牛头不对马嘴·楼上14
#16
bodyStr 必须为字符串类型.
#17
结贴老·最终还是没用上这个·
#18
#1
各位多看哈嘛```````````急得很`
#2
bodyStr 是否为字符串?请检查
#3
同意2楼的说法
'objstream.Type=2'==========>这样才是文本类型的数据
objstream.Type=1'你这里指定了stream的类型为2进制数据,如果bodyStr不是字符串时错误
#4
objstream.Write bodyStr '错误之处'
这个变量不是string类型的变量,所以无法直接输出
如果他的数据是2进制,你不妨写一个2进制显示函数,或者去搜索一个现成的函数用以对其显示
这个变量不是string类型的变量,所以无法直接输出
如果他的数据是2进制,你不妨写一个2进制显示函数,或者去搜索一个现成的函数用以对其显示
#5
objstream.Type=1 是二进制
objstream.Write Request.BinaryRead(Request.TotalBytes)
需要类似二进制写入
objstream.Write Request.BinaryRead(Request.TotalBytes)
需要类似二进制写入
#6
我在本地运行是正确的,本地环境:XP+IIS6.0
放在服务器上就运行错误,出现以上所说的错误,环境:win2000+IIS6.0
请问一下怎么解决?
放在服务器上就运行错误,出现以上所说的错误,环境:win2000+IIS6.0
请问一下怎么解决?
#7
首先说明哈: bodyStr
是字符串
是字符串
#8
再请高手帮忙`快刷下去了
#9
怎么办呢???
#10
连接数据库的代码?有问题吧
本地是2000,服务器2003的话可能不兼容,某些少数错误
本地是2000,服务器2003的话可能不兼容,某些少数错误
#11
没连接数据库,是直接抓取别人网站的信息.
代码如下:
<%
htmstr=""
Function bytes2BSTR(vIn)
dim strReturn
dim i1,ThisCharCode,NextCharCode
strReturn = ""
For i1 = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i1,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i1+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i1 = i1 + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
function getHTTPPage(url)
on error resume next
dim http
set http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=Http.responseBody
set http=nothing
if err.number<>0 then err.Clear
end function
url="http://news.163.com/weather/news/qx1/57516.html"
htmstr=getHTTPPage(url)
htmstr=BytesToBstr(htmstr,"GB2312")
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr,"<br>"," ")
%>
代码如下:
<%
htmstr=""
Function bytes2BSTR(vIn)
dim strReturn
dim i1,ThisCharCode,NextCharCode
strReturn = ""
For i1 = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i1,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i1+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i1 = i1 + 1
End If
Next
bytes2BSTR = strReturn
End Function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
function getHTTPPage(url)
on error resume next
dim http
set http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=Http.responseBody
set http=nothing
if err.number<>0 then err.Clear
end function
url="http://news.163.com/weather/news/qx1/57516.html"
htmstr=getHTTPPage(url)
htmstr=BytesToBstr(htmstr,"GB2312")
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr,"<br>"," ")
%>
#12
你的代码 我这边可以运行的,没有提示出错.
pos1=instr(htmstr," </a> ")+4
pos2=instr(pos1,htmstr," <")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr," <br> "," ")
这个代码觉得效率不高,其实也没什么的
pos1=instr(htmstr," </a> ")+4
pos2=instr(pos1,htmstr," <")
htmstr=mid(htmstr,pos1,pos2-pos1)
htmstr=replace(htmstr," ","")
htmstr=replace(htmstr," <br> "," ")
这个代码觉得效率不高,其实也没什么的
#13
pos1=instr(htmstr,"</a>")+4
pos2=instr(pos1,htmstr,"<img")
htmstr=mid(htmstr,pos1,pos2-pos1)
呵呵
pos2=instr(pos1,htmstr,"<img")
htmstr=mid(htmstr,pos1,pos2-pos1)
呵呵
#14
1,try:
sql = "select * from [用户信息] where [用户名] = '"& request.Form("name") &"' "
另外,注意一下 request.form["name"]的值是什么。
ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。/test/db.asp
这个错误提示,一般是指表名,或字段名有问题。
2,rst.open "用户信息",conn,1,3
肯定是有误的。
try:
rst.open "[用户信息]",conn,1,3
如果不行建议
rst.open "select * from [用户信息]",conn,1,3
因为,odbc方式和oledb方式驱动连接access时,某一种方式支持直接 recordset.open的第一个参数为表名,另一种是不支持的,我记不太清了。
你一试便知。
sql = "select * from [用户信息] where [用户名] = '"& request.Form("name") &"' "
另外,注意一下 request.form["name"]的值是什么。
ADODB.Recordset (0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。/test/db.asp
这个错误提示,一般是指表名,或字段名有问题。
2,rst.open "用户信息",conn,1,3
肯定是有误的。
try:
rst.open "[用户信息]",conn,1,3
如果不行建议
rst.open "select * from [用户信息]",conn,1,3
因为,odbc方式和oledb方式驱动连接access时,某一种方式支持直接 recordset.open的第一个参数为表名,另一种是不支持的,我记不太清了。
你一试便知。
#15
牛头不对马嘴·楼上14
#16
bodyStr 必须为字符串类型.
#17
结贴老·最终还是没用上这个·