+ -
当前位置:首页 → 问答吧 → 根据参数生成sql

根据参数生成sql

时间:2011-09-06

来源:互联网

我想做的功能是用户在页面上点击一个城市,然后在下面就查询出相应的该城市的信息
比如点击杭州 查询杭州的信息 点击嘉兴 查询嘉兴的信息

jsp页面我是以
<span onclick="window.location.href='action路径?实体.City=杭州'">杭州</span>
这种方式获得用户点击的城市参数

然后后台的sql怎么根据参数生成啊??

后台代码怎么写 给个思路啊

小弟是菜鸟,坐等各位大大解决问题啊

作者: cc5326031   发布时间: 2011-09-06

用参数化查询,避免使用动态SQL。

作者: jiangsheng   发布时间: 2011-09-06

用 public interface PreparedStatementextends Statement表示预编译的 SQL 语句的对象。 

SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。 

注:用于设置 IN 参数值的设置方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法。 

如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数。 

在以下设置参数的示例中,con 表示一个活动连接: 

  PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
  SET SALARY = ? WHERE ID = ?");
  pstmt.setBigDecimal(1, 153833.00)
  pstmt.setInt(2, 110592)

作者: Yuerzm   发布时间: 2011-09-06

引用楼主 cc5326031 的回复:

<span onclick="window.location.href='action路径?实体.City=杭州'">杭州</span>
这种方式获得用户点击的城市参数

然后后台的sql怎么根据参数生成啊??


你是以请求参数的形式送出city到服务器的,所以用
request.getParameter("实体.City")这种方式来取。

根据1楼蒋公的提醒,楼主应该考虑PreparedStatement,将上面获取到的city值setString("字段名", city参数值);
这样子设进去。

另外,用Struts2的话,在Action中新增一个“实体”属性接收city参数值就行了,不用getParameter主动去取了。

作者: magong   发布时间: 2011-09-06

用 public interface PreparedStatementextends Statement表示预编译的 SQL 语句的对象。

作者: wangquanzheng   发布时间: 2011-09-06

参数不就一个城市吗?
直接传进去 判断是否为空 然后拼写你的sql就可以了啊

作者: ajun_studio   发布时间: 2011-09-06

热门下载

更多