主题:  能不能使用动态的表名?

010224

职务:普通成员
等级:1
金币:0.0
发贴:54
#12004/5/4 14:15:52
我想通过一个页面,向另一页提交一个表的名字,来完成相关查询
不知道能不能实现?
dim info=trim(request.form("information" ))
dim lei=trim(request.form("leixing" ))
sql="select * from '"& info &"' where style='"& lei &"' "
这样行不行?



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#22004/5/4 18:01:01
dim tb,key
tb     = trim(request("tb"))
key    = trim(request("key"))
if tb<>"" then
   sql = "select * from "& tb &" where style like '"& key &"' "
end if



010224

职务:普通成员
等级:1
金币:0.0
发贴:54
#32004/5/4 19:30:30
我在前面使用了:
sql = "select * from "& tb &" where style like '"& key &"' "

但是编译的时候出现这样的提示,是什么原因?
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10 )
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/a.asp, 第 12 行

第十二行只有一句 set rs=conn.execute(sql )



010224

职务:普通成员
等级:1
金币:0.0
发贴:54
#42004/5/4 19:41:19
在改用了:
sql = "select * from '"& tb &"' where style like '"& key &"' "

提示:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 查询语法错误。查询子句不完整。
/a.asp, 第 12 行



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52004/5/5 10:04:12
在execute之前先 response.write sql 看看生成的 sql 语句有没有语法错误



010224

职务:普通成员
等级:1
金币:0.0
发贴:54
#62004/5/5 11:37:00
没错误呀,
我让它write了一下,它显示:
select * from 010224 where style='user'

但是执行的时候还是说在
set rs=conn.execute(sql )
处出错 : 参数不足,期待是1



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#72004/5/5 11:54:08
表名如果不是英文字母开头,就给它加上[]

sql = "select * from ["& tb &"] where style like '"& key &"' "



010224

职务:普通成员
等级:1
金币:0.0
发贴:54
#82004/5/6 17:05:11
搞定了。
原来原因不在这里
是因为在数据库中有一列的属性被我设置成了日期,
而实际上我在使用的时候把它当文本用了。
谢谢germchen和janlay