|
主题: ASP出现莫名的问题,不解!求解!
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#12003/7/7 20:45:22
帮忙看看,谢谢!
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 ''50'','50''' 中。
/include/common.asp,行64
---就是加了个" ' "就不能上传,为什么?
原common的文件内容是:
<% '****** All parameter must be declared before use Option Explicit Const Columns=1,PageSize=8
'****** Define public pramaters and subroutings, usually included in ASP files Const DatabaseName="include/tongzishandb.mdb"
'****** Prepare connection object, and store it to session Function Open_Database(SessionName) Dim conn,connStr If NOT isObject(Session(SessionName)) Then Set conn=Server.CreateObject("ADODB.Connection") connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath(DatabaseName) conn.Open connstr Set Session(SessionName)=conn End if Set Open_Database=Session(SessionName) End Function Function Open_Database1(SessionName) Dim conn,connStr If NOT isObject(Session(SessionName)) Then Set conn=Server.CreateObject("ADODB.Connection") connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("tongzishandb.mdb") conn.Open connstr Set Session(SessionName)=conn End if Set Open_Database1=Session(SessionName) End Function '******* Kill Session Sub Kill(SessionName) Set Session(SessionName)=Nothing End Sub '****** Prepare recordset object, and store it to session
Function Open_RsPg(conn, sql, SessionName, PageSize) Dim rs Set rs=Server.CreateObject("ADODB.Recordset") rs.Open sql,conn,1 Set Session(SessionName)=rs rs.PageSize=PageSize Set Open_RsPg=Session(SessionName) End Function %>
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#22003/7/7 20:49:15
Replace(xxx,"'","")
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#32003/7/7 20:53:41
谢谢您的回复!不了解您的说法
数据库里面的两个字段都不支持,例如像要添加内容为50'
就不能上传,如何改!
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#42003/7/7 21:14:05
谢谢楼上的先生,可以说具体一点吗?
如何做~
(我是一个刚入门的新手,还请多多指教)
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#52003/7/7 21:22:33
在插入数据库中, SQL语句对于一些特殊字符会出错,所以对这些数据要先进行处理,用上面那种方式来把'替换成''。 也可以使用server.htmlencode来处理 如 a=server.htmlencode(trim(request("a"))) 这些,就算有'也没关系了
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#62003/7/7 21:22:38
allinhands,可以告诉我详细一点吗?
非常的感谢!@
编辑历史:[这消息被fancyren编辑过(编辑时间2003-07-07 21:23:09)]
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#72003/7/7 21:27:59
给你一个函数吧,用来处理大段文本
function HTMLEncode(fString)
if trim(fstring)<>"" or not isnull(fstring) then
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "")
fString = Replace(fString, CHR(10), " ")
fString = Replace(fString, " "," ")
fstring = replace(fstring,"'","''")
HTMLEncode = fString
end if
end function
编辑历史:[这消息被germchen编辑过(编辑时间2003-07-07 21:28:41)]
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#82003/7/7 21:41:29
哦,很清楚!谢谢!
但是我放在程序里面,还是不行!
可以再教我一下吗?
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#92003/7/7 21:47:14
这样可能可以解决问题,
但因为客户要求的是用 ' 表示 英寸的,有更好一点的办法吗?
如果是用 function HTMLEncode(fString) if trim(fstring)<>"" or not isnull(fstring) then fstring = replace(fstring,"'","`") HTMLEncode = fString end if end function 加在哪里比较适合~
编辑历史:[这消息被fancyren编辑过(编辑时间2003-07-07 21:50:58)]
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#102003/7/7 21:58:39
比如标题里面包含',那么就是HTMLEncode(Request.form("title"))
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#112003/7/7 22:00:56
可以加在common里面吗?加在哪个地方好!
我要暂换每一个上传带有 ' 的内容!
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#122003/7/7 22:01:58
你在sql种避免使用'做引号,如果需要得话用两个"",比如原来得'something'用""something""代替
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#132003/7/7 22:03:52
fancyren在上个帖子中说 引用: 可以加在common里面吗?加在哪个地方好!
我要暂换每一个上传带有 ' 的内容!
加上顶上好了,然后给沒各要处理得数据用HTMLEncode()包含起来
|
fancyren
职务:普通成员
等级:1
金币:0.0
发贴:100
|
#142003/7/7 22:05:58
但因为客户要求的是用 ' 表示 英寸的
例如50',一定要这样客户才满意
郁闷~
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#152003/7/7 22:08:15
不是说了用server.htmlencode()来处理啊,然后插入数据库 还是可以显出出单引号的
|