急!! 怎么判断一条sql语句是否被执行成功??

hua5523 2011-03-10 09:22:34
老板要最后执行成功了返回“success”,失败返回“fail”

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String strReturn = "fail";
String method = request.getParameter("method");
if("add".equals(method)){
String driverName = request.getParameter("name");
String driverTel = request.getParameter("tel");
String driverCardId = request.getParameter("cardId");
addDriver(driverName,driverTel,driverCardId);
strReturn = "success"; //这里写法老板说有问题,不能这样赋值。
}
PrintWriter out = response.getWriter();
out.println(strReturn);
out.flush();
out.close();
}

public void addDriver(String driverName,String driverTel,String driverCardId){
DriverSql driverSql = new DriverSql();
driverSql.addDriver(driverName, driverCardId, driverTel);

}
public class DriverSql {
JDBCconnection jdbcconn = new JDBCconnection();
public void addDriver(String name,String cardId,String phone){
jdbcconn.getConn();
Date date = new Date();

SimpleDateFormat dateToStr = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
String strDate = dateToStr.format(date);
System.out.println("date:"+strDate);

String sql = "insert into driver (name,cardId,phone,regtime) " +
"values ('"+name+"', '"+cardId + "', '"+phone + "', '"+strDate+"')";
Statement stmt = jdbcconn.getStmt();
try {
stmt.executeUpdate(sql);//这附近需要怎么写,可以得到一个boolean类型的值。
} catch (SQLException e) {
e.printStackTrace();
}
jdbcconn.closeConn();
}
}

就是怎样在 DriverSql 里给 addDriver方法写成String类型的返回值,
...全文
1044 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gw6328 2011-03-14
  • 打赏
  • 举报
回复
学习 row_count()
iihero_ 2011-03-12
  • 打赏
  • 举报
回复
stmt.executeUpdate(sql) 有返回值的,<0,肯定有问题。>=0,指的是受影响的行数。
如果出异常,那就是错误了。
ACMAIN_CHM 2011-03-10
  • 打赏
  • 举报
回复
在你的JAVA中使用 TRY CATCH来设置。
zuoxingyu 2011-03-10
  • 打赏
  • 举报
回复
SQL语句被执行成功,只要你的SQL语句的语法没有错误,那么就是逻辑错误。

逻辑上的错误SQL怎么判断呢??比如本来ID=100,你写成了ID=200,没有语法错误,也能执行成功,但实际值却是错误的,怎么判断呢?
zuoxingyu 2011-03-10
  • 打赏
  • 举报
回复
ROW_COUNT()
ROW_COUNT()返回被前面语句升级的、插入的或删除的行数。 这个行数和 mysql 客户端显示的行数及 mysql_affected_rows() C API 函数返回的值相同。

mysql> INSERT INTO t VALUES(1),(2),(3);

问询完成, 表中有3 行 (0.00秒)

记录: 3 重复: 0 警告: 0



mysql> SELECT ROW_COUNT();

+-------------+

| ROW_COUNT() |

+-------------+

| 3 |

+-------------+

表中有1行 (0.00 秒)



mysql> DELETE FROM t WHERE i IN(1,2);

问询完成, 找到2 行 (0.00 秒)



mysql> SELECT ROW_COUNT();

+-------------+

| ROW_COUNT() |

+-------------+

| 2 |

+-------------+

表中有1行 (0.00 秒)


56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧