“语法错误 (逗号) 在查询表达式id=20, 21”,怎么处理这个逗号?
来源:asp之家 发布时间:2009-09-18 14:52:00
我用asp+access写程序,
sql="select * from book where id="
sql=sql &temp
temp是从上个页面传来的显示记录的标号(最多可以选2条记录)
dim temp
temp=Request("bookchange")
if temp="" then
temp=1
end if
如果temp传来的是2个数字,我测试了一下,系统报错:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (逗号) 在查询表达式 'id=20, 21' 中。
/bookmanage/lendbook.asp, 第 14 行
怎末处理,请教呀!
用in
sql="select * from book where id in ("
sql=sql &temp & ")"
在sql语句里用in()
sql="select * from book where id in ("&temp&")"
aa=split(temp,',')
for i=0 to ubound(aa)
te=te&"'"&aa(i)&"',"
next
te=left(te,len(te)-1)
sql="select * from book where id in ("&te&")"
StrArr = split(temp, ",")
sql="select * from book where"
For i = 0 To UBound(StrArr)
StrSQL = StrSQL & "id = '" & Trim(StrArr(i)) & "'"
If i < UBound(StrArr) Then StrSQL = StrSQL & " OR "
Next
这种应该会比较有效,用in的话,当传过来的是2135,3521的话,会不会连21,13,15等等的记录都加进去呢?没有验证过,不太清楚。
这样就可以了,不用split,不会出错。temp为空的时候要判断一下。
最好在提交的时候就规范一下,不要出现只有逗号没有数字的情况。
temp=trim(request(temp))
if temp<>"" then temp=" where id=" & temp
temp=replac(temp,","," or id=")
sql="select * from book " & temp
temp=replac(temp,","," or id=")
这个方法不错
如果程序运行不正确试试下面的语句:
temp=replac(temp,", "," or id=")
猜你喜欢
- 传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascr
- 从AspJpeg1.8 版本开始,AspJpeg 提供了比 PrintText 更为灵活的文本绘图方法PrintTextEx,PrintTe
- 最近关心电子商务比较多,阿里系产品目前还是业内标杆,值得学习的对象。前几天Jack Ma对支付宝用户体验的严厉批评,成为业内交流热点,据说原
- 如果我需要在运行有SQL Server的机器上运行病毒扫描软件,怎样做才不会影响性能? 这取决于您希望运行的病毒扫描软件的类型。目前有三种类
- 列表UL或是OL中都有一个预设标记,这个标记可能是实点圆点,也可能是数字。在实际的应用中,我们需要去掉这个预设标记,但我们不清楚这个预设标记
- andot提出问题:在做 ajax 编程时,我们常常需要将 xmlhttp 获取到的页面内容通过 innerHTML 来赋给某个容器(比如
- 大家已经从实际使用中了解了jquery这个javascript框架的强大,其实jquery更加强大的是可扩展。你可以编写自己的基于jquer
- 图片按钮是我们经常应用的网页元素,按钮的生成有两种方法,一个是用链接<a>来模拟按钮,一个是用现成的表单按钮。<input
- 如何侦测HTTP表头信息?可用下列办法侦测并显示所有的HTTP HEADERS:<HTML><HEAD><TI
- 回想自己从事Web方面的开发已经有6-7年,对于各种Web技术都已经非常熟悉.可是,身为程序员的我对于制作Web表单界面的事着实心痛。心痛1
- 学习了css一段时间,现在对css的一些技巧进行一次小结.希望能对那些刚学习css的新手们带来帮助.一、关于注释在创建xhtml+CSS网站
- 内连接(inner join)。 外连接: 全连接(full join)、左连接(left join)、右连接(right join)。 交
- 我用的数据库是Access2000的,系统为Win2000 Advance Server.今天在程序调试中遇到了以下几个怪现象:1.如果Ac
- 内容摘要:本文是一篇实例讲解的文章。作为一个普通的程序员,我深知,一个优秀的例程,对于正在学习编程的人是多么的有帮助。本文中使用的例程,是一
- 让长字符自动换行 (比如 URL 和 Email地址) 目的:让很长的字符串,能自动换行,但是不要把短的单词从中间断开。方法如下:<s
- 从前有三只小猪,长大自立了分别造房子住。老大搬来草堆堆出草屋,老二搬来木头搭出木屋,老三搬来砖头,砌墙,造烟囱,造出了坚固的砖房。一天晚上大
- 1、新建DLL打开VB6-->文件-->新建工程-->选择ActiveX DLL-->确定2、将默认工程、类重命名工
- 代码如下:Create PROCEDURE Batch_Delete @TableName nvarchar(100), --表
- 微软今天发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务,不过暂时只有英文版本,需要简体中文版的用户
- 第一步:创建转向控制页面创建网站默认的首页文件(通常为"index.asp"或"default.asp&quo