如何从页面中输入SQL语句的查询条件(就是下面的 01001,01002...等):
select * from tblTest where id in(01001,01002,01003,01004)
代码如下:<%@ page contentType="text/html;charset=GBK" language="java" errorPage="./error.jsp" %>
<%@ page import="java.sql.*,java.util.*,java.io.*,com.zwqk.*" %><html>
<head>
</head> <body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=zwqk"; String user = "sa";
String password = ""; Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from tblTest where id in(01001,01002,01003,01004)"; ResultSet rst = stmt.executeQuery(sql); while(rst.next())
{
%>
......
......
......
<%
}
rst.close();
stmt.close();
conn.close();
%>
</div>
</body>
</html>
select * from tblTest where id in(01001,01002,01003,01004)
代码如下:<%@ page contentType="text/html;charset=GBK" language="java" errorPage="./error.jsp" %>
<%@ page import="java.sql.*,java.util.*,java.io.*,com.zwqk.*" %><html>
<head>
</head> <body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=zwqk"; String user = "sa";
String password = ""; Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from tblTest where id in(01001,01002,01003,01004)"; ResultSet rst = stmt.executeQuery(sql); while(rst.next())
{
%>
......
......
......
<%
}
rst.close();
stmt.close();
conn.close();
%>
</div>
</body>
</html>
解决方案 »
- DreamWeaver和MyEclipse的問題!
- 求教正则问题
- hql语句,Path expected for join问题
- 如何下载解析网络上的rss??
- 请教我的web.xml错在哪里,提示rg.apache.commons.digester.Digester error 严重: Parse Error at line 2 column 219: Document root ele
- 怎么写不到数据库中数据呢?
- 我实在找不出这个JSP文件错在哪里?
- 我使用struts开发,现我想根据一表单中的某个域的不同的值再将请求分别转发到相应的处理Action
- 帮我看看错再哪~高分!!
- 编译好的class文件放在哪儿?——初学者的疑问!
- struts问题~~24小时内结帖
- 一个JSP制作的日历[我不知道哪写错了]
2:写dao方法
3:调dao方法传参():如:dao.in(request.getparm("11"),request.getpram("22"))
无所谓是key还是value放你要的数据,就是01001,01002,01003,01004了然后在BM中拼凑成 where id in(01001,01002,01003,01004)";
作为一个string传给DAO,如果没有选择的话这个String就是空的
"(AUTHOR, TITLE, ISBN) VALUES (?, ?, ?)”);
ps.setString(1, “Zamiatin, Evgenii”);
ps.setString(2, “We”);
ps.setLong(3, 0140185852);
得到传递的参数值,然后生成你需要的SQL语句
比如
String ids = request.getParameter("ids");
String sql = "Insert Into your_table Values (" + ids + ")";
PreparedStatement ps = conn.prepareStatement(“INSERT INTO BOOKLIST" +
"(AUTHOR, TITLE, ISBN) VALUES (?, ?, ?)”);
ps.setString(1, “Zamiatin, Evgenii”);
ps.setString(2, “We”);
ps.setLong(3, 0140185852);
-----------------
我也比较喜欢这种方法
好好学学基础吧。
至于楼上说的存储过程,比较好
老大
你应该充分利用数据库
不然~~~~~~~~~~~~~~~~~
老大的意思是什么?根据页面选中的记录来做
是把页面中的文件框里的值传给sql语句中的in()里
条件1:___01001___;//这个文本框为<input name='condition' type='text' value="">
条件2:___01002___;//这个文本框的<input name='condition' type='text' value="">
条件3:___01003___;//这个文本框的<input name='condition' type='text' value="">
条件4:___01004___;//这个文本框的<input name='condition' type='text' value="">
......
条件n:___0100n___;//这个文本框的<input name='condition' type='text' value="">
有几个条件就设几个文本框,它们的name全是condition.那么你就在你的bean里这样写:
String[] conditions = request.getParameterValues("condition ");
String temp = "";
if(conditions == null || conditions.equals("null") || conditions.length <= 0) {
//此处做你想要的处理
}
else{
for (int i = 0; i < conditions.length; i++) {
temp += "," + conditions[i];
}
temp = temp.substring(1, temp.length());
}//此处的目的就是把所有的文本框中的内容加起来形成"01001,01002,01003,01004"这样的格式,然后你把这temp传到你的in()中。
以上是一样方法,页面中会有很多的文本框,处理时相对麻烦,但是用户喜欢这样,因为易懂。
还有一种方法就是只有一个文本框:
条件:__01001,01002,01003,01004___;
让用户自己添逗号,这样用户可能不太习惯,但是处理相对简单些,在bean中只写:
String conditions = request.getParameter("condition ");
就可以了,当然还得做一些除错处理,比如说用户忘了写逗号。
我试了你的方法,可不出效果呀
无所谓是key还是value放你要的数据,就是01001,01002,01003,01004了然后在BM中拼凑成 where id in(01001,01002,01003,01004)";
作为一个string传给DAO,如果没有选择的话这个String就是空的
param 记录条件值
select * from tblTest where id in('+ param +')