求助~~ASP实现数据库查询

来源:百度知道 编辑:UC知道 时间:2024/06/19 16:15:40
db1.mdb的表dep中有若干字段,设备编号,设备名称,设备类型,使用年限,所属部门等等。页面上有两个下拉列表框,分别是各部门和设备各种类型,要求能够分别按下拉列表所选的项目单独查询某一部门的设备或者某种类型的设备,也要能够两个下拉列表结合查询,如:输出指定部门的指定类型设备。
小妹是初学者,现在数据库已经建立好了连接,用SELECT *可以输入整张表,按要求查询还没有一个明确的思路,麻烦各位大侠帮帮忙,有知道的给个主要部分代码或者清晰思路。能帮我解决的还会追加分。
还有一个问题,想让提交表单和查询结果在同一个页面上,就是那个页面是可以反复查询的,代码怎么编??表单提交后下拉列表的值又变成了原来的值,要怎么设置才能让那个值在提交后不还原呢?

首先不推荐使用SELECT *,最好是你要使用哪些字段,就列出那些字段.

SELECT 备编号,设备名称,设备类型,使用年限,所属部门 FROM 表名
WHERE 所属部门=[选中的部门] AND 设备类型 = [选中的类型]

我想你SQL语句应该会写,这个地方难点在于,你检索的条件,不一定同时出现,有可能只出现一个,



SELECT 备编号,设备名称,设备类型,使用年限,所属部门 FROM 表名
WHERE 所属部门=[选中的部门]


SELECT 备编号,设备名称,设备类型,使用年限,所属部门 FROM 表名
WHERE 设备类型 = [选中的类型]

还有最初的一条

这三条检索词句都可能出现.这个也是开发时常遇到的动态SQL问题

在程序中,执行SQL语句的是API提供的方法,一般只要传一个字符串即可,
那我们就可以在字符串上做手脚.

首先创建一个条件为真的SQL语句.

String strSQL = "SELECT 备编号,设备名称,设备类型,使用年限,所属部门 FROM 表名 WHERE 1=1 "

这条SQL执行的结果,与不加WHERE的结果是相同的,

这样做了以后,条再有变化就可以添加字符串" AND 字段=表达式 "
这样的字符串,以达到运态SQL所要求的效果.

以你的问题举例

if 部门选择了
strSQL += "AND 所属部门=选中的部门 ";

if 部门选择了
strSQL += "AND 设备类型 = 选中的类型 ";

这样,根据选择的不同可以得到三种SQL

SELECT 备编号,设备名称,设备类型,使用年限,所属部门 FROM 表名
WHERE