三个ASP问题
注意:本文最后更新于 2738 天前,有关的内容可能已经发生变化,请参考使用。
遇到三个问题,这里记录一下
provider 80004005错误
ASP网站遇到了provider 80004005错误
提示
provider 80004005
conn.asp 行3错误
set conn=server.createobject("ADODB.connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("data#Holmesian33894869abc.mdb")
conn.Open Strconn
set rs=server.CreateObject("ADODB.Recordset")
set rs1=server.CreateObject("ADODB.Recordset")
set rs2=server.CreateObject("ADODB.Recordset")
set rs3=server.CreateObject("ADODB.Recordset")
set rs4=server.CreateObject("ADODB.Recordset")
set rs5=server.CreateObject("ADODB.Recordset")
set rs6=server.CreateObject("ADODB.Recordset")
set rsconna=server.CreateObject("ADODB.Recordset")
Response.Buffer = True
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
问题出在这里
Strconn="DRIVER={Microsoft Access Driver*.mdb)};DBQ="&Server.MapPath("data#Holmesian33894869abc.mdb")
这种数据库的连接方法是用于比较老的驱动连接
将DRIVER={Microsoft Access Driver (*.mdb)}改成Provider=Microsoft.Jet.OLEDB.4.0之后问题基本上就可以解决
Strconn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("data#Holmesian33894869abc.mdb")
只是这样之后可能会有一些原来的SQL语句会出现问题,目前来看之后逐个修改了
OLE DB错误
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值,原因是提交的表单项目中含有 回车的内容
将
rs("原因1")=reason1
rs("原因2")=reason2
改成
rs("原因1").value=reason1
rs("原因2").value=reason2
问题解决 但是回车之后的内容不会保留,这个问题的出现很有间歇性 所以不保证所有出现OLE问题的状况都可以通过这个解决。。。
多行文本换行问题
在页面上,表单中含有<textarea>控件的内容提交到数据库里去之后,只要提交的多行文本中含有回车就没办法再调回显示到<textarea>控件中,原因大概是回车无法显示在textarea中 至少是通过js的方式没办法实现动态更新 ,所有只能在接受表单数据的时候对回车进行转义
reason1=replace(reason1,chr(13),"")
reason1=replace(reason1,chr(10),"")
reason1=replace(reason1,chr(32),"")
这么一来 用Js调用数据库里相应的字段回去的时候就不会出现问题啦~~~
顺便说一下 一般对一些特殊符号也需要转义的
temp=replace(temp,"<","<")
temp=replace(temp,">",">")
「倘若有所帮助,不妨酌情赞赏!」
感谢您的支持!
使用微信扫描二维码完成支付