|
主题: 能不能使用动态的表名?
|
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
|