都说了未知的数据库student,你的student好像是个表吧,不是数据库啊,侯森
是test啊,大样
String url = "jdbc:mysql://192.168.0.48:3306/test"
你就是属于那种:远在天边近在眼前,还不知道对错的gay,我连续碰到4个,你是第四个。
你看,忠言逆耳,说了你还不服,我第一个回答的,你还采纳别人,真是没有诚信
首先不推荐使用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
1=1
AND
所属部门=[选中的部门]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
设备类型
=
[选中的类型]
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1
AND
所属部门=[选中的部门]
AND
设备类型
=
[选中的类型]
这样应该可以达到你想要的结果了
这个要注意的是,在你写的字符串后,都要加一个空格,
要不然拼出来的结果就是
SELECT
备编号,设备名称,设备类型,使用年限,所属部门
FROM
表名
WHERE
1=1AND
所属部门=[选中的部门]AND
设备类型
=
[选中的类型]
AND与前面的表达式挨在一起了,这样,这就不是一个合法的SQL语句,这点要注意
这也是在实际中常遇到的问题
就是那个页面是可以反复查询的,代码怎么编
对于这个问题很迷惑,你做完查询以后,不是回到这个页吗?这个问题实再不知道你想问什么
表单提交后下拉列表的值又变成了原来的值,
这个是正常的,因为页面刷新后,页面上的控件如时不控制的话,都会变成初始状态.
这个需要手动控制,
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3">>部门3</option>
</select>
假如说你提交的是部门3,你得到了3这个值,那么在回到页面时,你要在option中加上selected这个标记,即
<select
name="sel">
<option
value="0">
</option>
<option
value="1">>部门1</option>
<option
value="2">>部门2</option>
<option
value="3"
selected>>部门3</option>
</select>
一船的做法是,记住提交的值.
<select
name="sel">
<option
value="0">
</option>
<option
value="1"
<%
if(value==1){out.println("selected")}%>>>部门1</option>
<option
value="2"
<%
if(value==2){out.println("selected")}%>>>部门2</option>
<option
value="3"
<%
if(value==3){out.println("selected")}%>
>>部门3</option>
</select>
以上是JSP代码,你可以参考一下,
这样页面刷新后,就可以保持住你选择的那个选项的状态了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)