关于JSP里数据库操作的有关sql语句的问题,急,在线等!

核心代码是这样的:try{Stringbname=request.getParameter("bname");Stringauthor=request.getParame... 核心代码是这样的:

try{
String bname=request.getParameter("bname");
String author=request.getParameter("author");
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/db_database09";
String username = "root";
String password = "jyl123JYL123";
Connection conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement();
String sql = "select number from tb_book where (bname="+bname+" and author="+author+") or bname="+bname+" or author="+author+" ";
ResultSet rs = stmt.executeQuery(sql);
List list=new ArrayList<bookbean>();
while(rs.next()){
bookbean book = new bookbean();
book.setId(rs.getInt("id"));
book.setBname(rs.getString("bname"));
book.setAuthor(rs.getString("author"));
book.setNumber(rs.getInt("number"));
book.setPrice(rs.getDouble("price"));
list.add(book);
}
request.setAttribute("list", list);
rs.close();
stmt.close();
conn.close();

我想实现的操作是显示查找书目的信息,而查找的时候可以漏填信息,也可以填全,所以其中的sql语句是那样的,现在的问题是编译能通过,也能跳转到页面,但是跳转之后的页面没有数据!我觉得是sql语句的不对导致没有结果,求大神给个解释能不能实现我要的那个操作
展开
 我来答
百度网友d88c829
2015-07-20 · TA获得超过1159个赞
知道小有建树答主
回答量:2328
采纳率:76%
帮助的人:634万
展开全部
这种情况下,最好在executeQuery之前直接“拼接”一个准确的sql语句供数据库查询,而不是使用如此模糊的查询语句。
追问
兄弟,敢不敢给个明确点的……应该怎改!?
追答
                string sqlcmd = "select * from " + lstTables.SelectedItem.ToString();
                string[] ArrName = txtName.Text.Split(new char[] { ' ', ',' });
                //如果查询条件区域已填写内容,开始拼接
                if (cmbCun.Text.Length!=0 || cmbZhen.Text.Length !=0||txtFamilyNo.TextLength !=0 || txtCID.TextLength!=0||txtName.TextLength!=ArrName.Length-1)
                {
                    sqlcmd+=" where";
                }
                //查询乡镇
                if (cmbZhen.Text.Length != 0)
                {
                    sqlcmd += " 乡镇='" + cmbZhen.Text + "'";
                }

 字数限制了,贴不上太多代码,大体看看吧,后面还有很多,发不上来了。

感觉有帮助的话请采纳哦~~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式