主题:  怎样通过参数传递选择数据库中的数据

看我的资料

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2003/5/24 12:06:05
#12003/6/5 18:07:30
怎样通过参数传递选择数据库中的数据
如:
select * form 数据库 where 1
select * form 数据库 where 2
select * form 数据库 where 3
如果是所有数据怎么写?可以写成select * form 数据库 where all 吗?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#22003/6/5 18:10:29
所有数据就不要where了~
select * form 数据库就可以了~



不是高手

职务:普通成员
等级:3
金币:5.0
发贴:1352
注册:2002/8/23 2:27:18
#32003/6/6 0:03:43
where是可选参数,找本SQL 的书看看就好了,最基本的查询语句。

语法
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...][IN外部数据库]
[WHERE...]
]
[GROUP BY...]
]
[HAVING...]
]
[ORDER BY...]
]
[WITH OWNERACCESS OPTION]

SELECT 语句具有以下几个部分:

部分 说明
predicate 下列谓词之一:ALL, DISTINCT, DISTINCTROW, 或 TOP.您可用谓词来限制返回的记录数量。如果没有指定谓词,则默认值为 ALL。
* 从特定的表中指定全部字段。
table 表的名称,此表中包含已被选择的记录的字段。
field1, field2 字段的名称,该字段包含了您要获取的数据。如果数据包含多个字段,则按列举顺序依次获取它们。
alias1, alias2 名称,用来作列标头,以代替 table.中原有的列名。
tableexpression 表的名称,这些表包含要获取的数据。
Externaldatabase 数据库的名称,该数据库包含 tableexpression 中的表,如果这些表不在当前数据库中的话。


说明
为完成此运算,Microsoft Jet 数据库引擎会搜索指定的表,抽出所选择的列,并选择满足条件的行,并按指定的顺序对选出的行排序,或将它们分组。

SELECT 语句不会更改数据库的中的数据。

SELECT通常是 SQL 语句.大部分 SQL 语句或者是 SELECT 语句,或者是 SELECT...INTO 语句。

SELECT 语句的最短的语法是:

SELECT fields FROM table

可以用一个星号 (*) 选取表中所有字段。下例选择了雇员表中的全部字段:

SELECT * FROM Employees;


如果 FROM 子句中有多个表包含字段名,则字段之前为表名称和 .(点)操作符。在以下示例中,「部门」字段将出现在雇员表及超级用户表中。SQL 语句将从雇员表和超级用户表来选择部门:

SELECT Employees.Department, Supervisors.SupvName

FROM Employees INNER JOIN Supervisors

WHERE Employees.Department = Supervisors.Department;


当 Recordset 对象被创建时, Microsoft Jet 数据库引擎把表的字段名作为 Recordset对象中的 Field 对象命名。 如果想要一个不同的字段名,或想要一个不是由生成字段的表达式导出的名,则使用 AS 保留字。在下例所得到的 Recordset 对象中用 Birth 标题将返回的 Field 对象命名:

SELECT BirthDate

AS Birth FROM Employees;


无论何时使用合计函数或查询,而且该查询返回含糊的或重复的 Field 对象名称,都必须用 AS 子句来提供 Field 对象的替代名称。在以下示例所得到的 Recordset 对象中用 HeadCount 标题将返回的 Field 对象命名:

SELECT COUNT(EmployeeID)

AS HeadCount FROM Employees;



看我的资料

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2003/5/24 12:06:05
#42003/6/6 12:50:32
我的意思是。xxx是变量,即另一个网页传递过来的参数,这个语句可以这么写: select * form 数据库 where xxx

如果是所有数据怎么写?即xxx为任意值,可以把网页写成:
kkkkk.asp?id=*或者http://kkkk.aso?id=?或者http://kkkkk.asp?id=all
这样好像不行,应当怎么写?谢谢!!



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
注册:2002/7/25 21:24:11
#52003/6/6 13:13:23
如果xxx 是任意值就不用写了啊?

直接Select * from table 就可以了?



看我的资料

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2003/5/24 12:06:05
#62003/6/6 16:07:41
我的思路是:
网页1有两个连接:1、部分;
2、全部;
网页2里有数据库,设计显示时运用了分页显示。

我希望通过用户点网页1的“部分“或者“全部“进入网页2显示相关的数据
怎么做?谢谢!!

编辑历史:[这消息被不仅为了聊编辑过(编辑时间2003-06-06 16:47:24)]


我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
#72003/6/6 16:45:59
用Select case啊~~假设以参数select传递

SQL="select * form 数据库"
Select case Request("select")
Case "all"
SQL=SQL
Case else
SQL=SQL&"where 选择="&Request("select")
End Select



看我的资料

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2003/5/24 12:06:05
#82003/6/6 16:52:58
哦,谢谢你!!