注册 登录
编程论坛 ASP技术论坛

各位高手看看这个条件查询语句错在哪里?

liuvking 发布于 2009-08-06 22:03, 679 次点击
Dim xibie
xibie=request("yuanxi")
set rs=server.createobject("adodb.recordset")
sql="select * from  xibie"
rs.open sql,conn,1,3
do while not rs.eof

原理是这样,我的数据库中用好几个名称不同的表,(结构相同)。想实现的是:通过对xibie变量赋具体的表名,然后sql语句将该表查询出来,(表名为中文)。可是总是报错:
错误类型:
Microsoft JET Database Engine (0x80040E37)
Microsoft Jet 数据库引擎找不到输入表或查询 'xibie'。 确定它是否存在,以及它的名称的拼写是否正确。
怎么办?大家帮忙···
6 回复
#2
水濂山人2009-08-06 23:42
sql = "select * from " & xibie
#3
juran2009-08-07 14:17
sql = "select * from ""&xibie&""

这样也行貌似,我没做测试,注意变量标志符
#4
myosotis2009-08-07 18:33
因为xibie是变量,所以不能直接写成sql="select * from xibie"
改成:sql = "select * from "&xibie
#5
pengjun11282009-08-07 19:04
感觉怪怪的。。

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

为什么还给表名赋一个变量呢??
#6
myosotis2009-08-08 10:17
没有什么可奇怪的,他是要根据参数的不同,读取不同表里面的数据,而这些表的数据结构一样,只是表名不同而已
#7
jingjing3162009-08-17 18:42
请问解决了吗?我觉得你sql="select * from  xibie" 给人的感觉是数据库中存在表名为xibie的表。
如果你想给表赋别名,可以这样sql="select * from  所要赋值的表名  xibie"

[ 本帖最后由 jingjing316 于 2009-8-17 19:04 编辑 ]
1