用asp处理acc数据库时的问题

来源:百度知道 编辑:UC知道 时间:2024/05/03 02:30:35
这部分代码我是这样写的
<%
o1="like"
s_nameofC="%%"

Set db=Server.CreateObject("ADODB.Connection")
db.Open "Dbq=C:\Inetpub\wwwroot\abc\abc.mdb;Driver={Microsoft Access Driver (*.mdb)};"

strsqlA="Select Top 15 From standard Order By id Desc where name_of_China "&o1&" '"&s_nameofC&"'"
%>
只是截取了一小段
因为o1这个变量是变化的,有可能是like或者=,o2可能是<、>、=.

但是这样写会出现错误,语句未结束。
如果把"&o1&"替换成like倒是可以通过。
如何才能用变量作运算符???
我觉得你们最好在机器上用你们的方法试一下,看看行不行

我说的是在asp的环境下试,asp和c能一模一样???????!!!!!既然没试验通过就闭嘴吧,ok?

难道我不会用if? 8个o,你来做吧,上百个if

按你提供的代码,应该没什么问题,这就是一个简单的字符串拼接问题,
o1="like"
sql="select top 15 * from tab where col "&o1&" '%xxx%'

sql="select top 15 * from tab where col like '%xxx%'
肯定是一样的。
你出错的环节可能在拼接sql前o1没得到正确的值

我不会ASP,下面的代码不能运行,但逻辑应该是对的:

strsqlA="Select Top 15 From standard Order By id Desc where name_of_China "
if o1 = "like" then
strsqlA=strsqlA + "like "

if o1 = "=" then
strsqlA=strsqlA + "= "

if o1 = ">" then
strsqlA=strsqlA + ">"
..........
===========================================
补充:你的意思是什么?你有未知数量的类似o1这样的变量?那你人工怎么组织你的SQL查询的?
===========================================
都是字符串变量,怎么不可以?无论那种语言都绝对不会有问题的!
关键问题是如果你的变量的数量和形式不确定,这个组合就没法拼了,可以说我给出的是最笨的拼接方法,如果这个都不行,确实就不知道该怎样帮你了!
===========================================
补充:我的方法在PHP、C和Delphi下都没有问题,因为平时我就这么干的,只是语法