起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1351|回复: 3

[结贴] 试着用案例的jave做点击量+1,结果不成功,请指正!

[复制链接]

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
发表于 2017-3-22 19:39:47 | 显示全部楼层 |阅读模式
为了绕开数据库中base64来执行点击量+1,对案例的代码修改了一下,但是不成功(如果直接执行UPDATE guide SET click_count=click_count+1 WHERE goods_id=13是可以成功的),请指正,谢谢!
  1. package mfxxl;

  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import javax.naming.NamingException;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.justep.baas.action.ActionContext;
  7. import com.justep.baas.data.DataUtils;

  8. public class Click {
  9.           public void clickPlus(JSONObject params, ActionContext context) throws
  10.           SQLException, NamingException {
  11.               String tableName = params.getString("tableName");  //获得调用动作时传入的参数
  12.               String idName = params.getString("idName");
  13.               Integer idNum = params.getInteger("idNum");
  14.               String clickName = params.getString("clickName");
  15.              
  16.               Connection conn = context.getConnection("yxkj");              //获得数据库连接
  17.               try {
  18.                 String sql = "UPDATE " + tableName + " SET " + clickName + "=" + clickName + "+1" + " WHERE " + idName + "=" + idNum;
  19.                 DataUtils.queryData(conn, sql, null, null, null, null);//从数据库查询数据
  20.               } finally {
  21.                 conn.close();                                           //关闭数据库连接
  22.               }
  23.             }
  24. }
复制代码



64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-3-22 19:50:00 | 显示全部楼层
我其实只需要执行那句sql语句就行了!
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-23 10:47:17 | 显示全部楼层
你先输出一下  String sql这句话看看是否正确!
回复 支持 反对

使用道具 举报

64

主题

321

帖子

679

积分

高级会员

Rank: 4

积分
679
QQ
 楼主| 发表于 2017-3-28 14:29:41 | 显示全部楼层
半导体 发表于 2017-3-23 10:47
你先输出一下  String sql这句话看看是否正确!

sql是可以实现的,之前一直都是getvalue,然后++,再setvalue,最后savedata,后来我用案例的那些代码改成如下:
  1. package mfxxl;

  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import javax.naming.NamingException;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.justep.baas.action.ActionContext;

  7. public class Click {
  8.           public static JSONObject clickPlus(JSONObject params, ActionContext context) throws
  9.           SQLException, NamingException {
  10.               String tableName = params.getString("tableName");  //获得调用动作时传入的参数
  11.               String idName = params.getString("idName");
  12.               Integer idNum = params.getInteger("idNum");
  13.               String clickName = params.getString("clickName");
  14.              
  15.               Connection conn = context.getConnection("yxkj");              //获得数据库连接
  16.               try {
  17.                 String sql = "UPDATE " + tableName + " SET " + clickName + "=" + clickName + "+1" + " WHERE " + idName + "=" + idNum;
  18.                         java.sql.PreparedStatement pstmt = null;
  19.                         pstmt = conn.prepareStatement(sql);
  20.                         pstmt.executeUpdate(sql);
  21.                         JSONObject ret = null;
  22.                         return ret;                //将table序列化后返回前端
  23.               } finally {
  24.                 conn.close();                                           //关闭数据库连接
  25.               }
  26.             }
  27. }
复制代码

虽然不如梁老师的那些思路,但是基本实现了click的目的,因为那些java的代码对我有些复杂,所以只能随便用用了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-5 16:55 , Processed in 0.055525 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表